first commit
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>MetalANGLEKit.framework/MetalANGLEKit</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64_x86_64-simulator</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>MetalANGLEKit.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
<string>x86_64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
<key>SupportedPlatformVariant</key>
|
||||
<string>simulator</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>MetalANGLEKit.framework/MetalANGLEKit</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>MetalANGLEKit.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XFWK</string>
|
||||
<key>XCFrameworkFormatVersion</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
+351
@@ -0,0 +1,351 @@
|
||||
#ifndef __egl_h_
|
||||
#define __egl_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright 2013-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
**
|
||||
** This header is generated from the Khronos EGL XML API Registry.
|
||||
** The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.khronos.org/registry/egl
|
||||
**
|
||||
** Khronos $Git commit SHA1: 5b1165a76f $ on $Git commit date: 2023-06-22 06:48:34 -0700 $
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/EGL/eglplatform.h>
|
||||
#else
|
||||
#include <EGL/eglplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef EGL_EGL_PROTOTYPES
|
||||
#define EGL_EGL_PROTOTYPES 1
|
||||
#endif
|
||||
|
||||
/* Generated on date 20230622 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: egl
|
||||
* Versions considered: .*
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef EGL_VERSION_1_0
|
||||
#define EGL_VERSION_1_0 1
|
||||
typedef unsigned int EGLBoolean;
|
||||
typedef void *EGLDisplay;
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#include <MetalANGLEKit/EGL/eglplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#include <EGL/eglplatform.h>
|
||||
#endif
|
||||
typedef void *EGLConfig;
|
||||
typedef void *EGLSurface;
|
||||
typedef void *EGLContext;
|
||||
typedef void (*__eglMustCastToProperFunctionPointerType)(void);
|
||||
#define EGL_ALPHA_SIZE 0x3021
|
||||
#define EGL_BAD_ACCESS 0x3002
|
||||
#define EGL_BAD_ALLOC 0x3003
|
||||
#define EGL_BAD_ATTRIBUTE 0x3004
|
||||
#define EGL_BAD_CONFIG 0x3005
|
||||
#define EGL_BAD_CONTEXT 0x3006
|
||||
#define EGL_BAD_CURRENT_SURFACE 0x3007
|
||||
#define EGL_BAD_DISPLAY 0x3008
|
||||
#define EGL_BAD_MATCH 0x3009
|
||||
#define EGL_BAD_NATIVE_PIXMAP 0x300A
|
||||
#define EGL_BAD_NATIVE_WINDOW 0x300B
|
||||
#define EGL_BAD_PARAMETER 0x300C
|
||||
#define EGL_BAD_SURFACE 0x300D
|
||||
#define EGL_BLUE_SIZE 0x3022
|
||||
#define EGL_BUFFER_SIZE 0x3020
|
||||
#define EGL_CONFIG_CAVEAT 0x3027
|
||||
#define EGL_CONFIG_ID 0x3028
|
||||
#define EGL_CORE_NATIVE_ENGINE 0x305B
|
||||
#define EGL_DEPTH_SIZE 0x3025
|
||||
#define EGL_DONT_CARE EGL_CAST(EGLint,-1)
|
||||
#define EGL_DRAW 0x3059
|
||||
#define EGL_EXTENSIONS 0x3055
|
||||
#define EGL_FALSE 0
|
||||
#define EGL_GREEN_SIZE 0x3023
|
||||
#define EGL_HEIGHT 0x3056
|
||||
#define EGL_LARGEST_PBUFFER 0x3058
|
||||
#define EGL_LEVEL 0x3029
|
||||
#define EGL_MAX_PBUFFER_HEIGHT 0x302A
|
||||
#define EGL_MAX_PBUFFER_PIXELS 0x302B
|
||||
#define EGL_MAX_PBUFFER_WIDTH 0x302C
|
||||
#define EGL_NATIVE_RENDERABLE 0x302D
|
||||
#define EGL_NATIVE_VISUAL_ID 0x302E
|
||||
#define EGL_NATIVE_VISUAL_TYPE 0x302F
|
||||
#define EGL_NONE 0x3038
|
||||
#define EGL_NON_CONFORMANT_CONFIG 0x3051
|
||||
#define EGL_NOT_INITIALIZED 0x3001
|
||||
#define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
|
||||
#define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
|
||||
#define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
|
||||
#define EGL_PBUFFER_BIT 0x0001
|
||||
#define EGL_PIXMAP_BIT 0x0002
|
||||
#define EGL_READ 0x305A
|
||||
#define EGL_RED_SIZE 0x3024
|
||||
#define EGL_SAMPLES 0x3031
|
||||
#define EGL_SAMPLE_BUFFERS 0x3032
|
||||
#define EGL_SLOW_CONFIG 0x3050
|
||||
#define EGL_STENCIL_SIZE 0x3026
|
||||
#define EGL_SUCCESS 0x3000
|
||||
#define EGL_SURFACE_TYPE 0x3033
|
||||
#define EGL_TRANSPARENT_BLUE_VALUE 0x3035
|
||||
#define EGL_TRANSPARENT_GREEN_VALUE 0x3036
|
||||
#define EGL_TRANSPARENT_RED_VALUE 0x3037
|
||||
#define EGL_TRANSPARENT_RGB 0x3052
|
||||
#define EGL_TRANSPARENT_TYPE 0x3034
|
||||
#define EGL_TRUE 1
|
||||
#define EGL_VENDOR 0x3053
|
||||
#define EGL_VERSION 0x3054
|
||||
#define EGL_WIDTH 0x3057
|
||||
#define EGL_WINDOW_BIT 0x0004
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
|
||||
typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
|
||||
typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
|
||||
typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
|
||||
EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
|
||||
EGLAPI EGLint EGLAPIENTRY eglGetError (void);
|
||||
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
|
||||
EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_0 */
|
||||
|
||||
#ifndef EGL_VERSION_1_1
|
||||
#define EGL_VERSION_1_1 1
|
||||
#define EGL_BACK_BUFFER 0x3084
|
||||
#define EGL_BIND_TO_TEXTURE_RGB 0x3039
|
||||
#define EGL_BIND_TO_TEXTURE_RGBA 0x303A
|
||||
#define EGL_CONTEXT_LOST 0x300E
|
||||
#define EGL_MIN_SWAP_INTERVAL 0x303B
|
||||
#define EGL_MAX_SWAP_INTERVAL 0x303C
|
||||
#define EGL_MIPMAP_TEXTURE 0x3082
|
||||
#define EGL_MIPMAP_LEVEL 0x3083
|
||||
#define EGL_NO_TEXTURE 0x305C
|
||||
#define EGL_TEXTURE_2D 0x305F
|
||||
#define EGL_TEXTURE_FORMAT 0x3080
|
||||
#define EGL_TEXTURE_RGB 0x305D
|
||||
#define EGL_TEXTURE_RGBA 0x305E
|
||||
#define EGL_TEXTURE_TARGET 0x3081
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_1 */
|
||||
|
||||
#ifndef EGL_VERSION_1_2
|
||||
#define EGL_VERSION_1_2 1
|
||||
typedef unsigned int EGLenum;
|
||||
typedef void *EGLClientBuffer;
|
||||
#define EGL_ALPHA_FORMAT 0x3088
|
||||
#define EGL_ALPHA_FORMAT_NONPRE 0x308B
|
||||
#define EGL_ALPHA_FORMAT_PRE 0x308C
|
||||
#define EGL_ALPHA_MASK_SIZE 0x303E
|
||||
#define EGL_BUFFER_PRESERVED 0x3094
|
||||
#define EGL_BUFFER_DESTROYED 0x3095
|
||||
#define EGL_CLIENT_APIS 0x308D
|
||||
#define EGL_COLORSPACE 0x3087
|
||||
#define EGL_COLORSPACE_sRGB 0x3089
|
||||
#define EGL_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_COLOR_BUFFER_TYPE 0x303F
|
||||
#define EGL_CONTEXT_CLIENT_TYPE 0x3097
|
||||
#define EGL_DISPLAY_SCALING 10000
|
||||
#define EGL_HORIZONTAL_RESOLUTION 0x3090
|
||||
#define EGL_LUMINANCE_BUFFER 0x308F
|
||||
#define EGL_LUMINANCE_SIZE 0x303D
|
||||
#define EGL_OPENGL_ES_BIT 0x0001
|
||||
#define EGL_OPENVG_BIT 0x0002
|
||||
#define EGL_OPENGL_ES_API 0x30A0
|
||||
#define EGL_OPENVG_API 0x30A1
|
||||
#define EGL_OPENVG_IMAGE 0x3096
|
||||
#define EGL_PIXEL_ASPECT_RATIO 0x3092
|
||||
#define EGL_RENDERABLE_TYPE 0x3040
|
||||
#define EGL_RENDER_BUFFER 0x3086
|
||||
#define EGL_RGB_BUFFER 0x308E
|
||||
#define EGL_SINGLE_BUFFER 0x3085
|
||||
#define EGL_SWAP_BEHAVIOR 0x3093
|
||||
#define EGL_UNKNOWN EGL_CAST(EGLint,-1)
|
||||
#define EGL_VERTICAL_RESOLUTION 0x3091
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
|
||||
typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
|
||||
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_2 */
|
||||
|
||||
#ifndef EGL_VERSION_1_3
|
||||
#define EGL_VERSION_1_3 1
|
||||
#define EGL_CONFORMANT 0x3042
|
||||
#define EGL_CONTEXT_CLIENT_VERSION 0x3098
|
||||
#define EGL_MATCH_NATIVE_PIXMAP 0x3041
|
||||
#define EGL_OPENGL_ES2_BIT 0x0004
|
||||
#define EGL_VG_ALPHA_FORMAT 0x3088
|
||||
#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
|
||||
#define EGL_VG_ALPHA_FORMAT_PRE 0x308C
|
||||
#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
|
||||
#define EGL_VG_COLORSPACE 0x3087
|
||||
#define EGL_VG_COLORSPACE_sRGB 0x3089
|
||||
#define EGL_VG_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
|
||||
#endif /* EGL_VERSION_1_3 */
|
||||
|
||||
#ifndef EGL_VERSION_1_4
|
||||
#define EGL_VERSION_1_4 1
|
||||
#define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
|
||||
#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
|
||||
#define EGL_MULTISAMPLE_RESOLVE 0x3099
|
||||
#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
|
||||
#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
|
||||
#define EGL_OPENGL_API 0x30A2
|
||||
#define EGL_OPENGL_BIT 0x0008
|
||||
#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
|
||||
typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_4 */
|
||||
|
||||
#ifndef EGL_VERSION_1_5
|
||||
#define EGL_VERSION_1_5 1
|
||||
typedef void *EGLSync;
|
||||
typedef intptr_t EGLAttrib;
|
||||
typedef khronos_utime_nanoseconds_t EGLTime;
|
||||
typedef void *EGLImage;
|
||||
#define EGL_CONTEXT_MAJOR_VERSION 0x3098
|
||||
#define EGL_CONTEXT_MINOR_VERSION 0x30FB
|
||||
#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
|
||||
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
|
||||
#define EGL_NO_RESET_NOTIFICATION 0x31BE
|
||||
#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
|
||||
#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
|
||||
#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
|
||||
#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
|
||||
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
|
||||
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
|
||||
#define EGL_OPENGL_ES3_BIT 0x00000040
|
||||
#define EGL_CL_EVENT_HANDLE 0x309C
|
||||
#define EGL_SYNC_CL_EVENT 0x30FE
|
||||
#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
|
||||
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
|
||||
#define EGL_SYNC_TYPE 0x30F7
|
||||
#define EGL_SYNC_STATUS 0x30F1
|
||||
#define EGL_SYNC_CONDITION 0x30F8
|
||||
#define EGL_SIGNALED 0x30F2
|
||||
#define EGL_UNSIGNALED 0x30F3
|
||||
#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
|
||||
#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
|
||||
#define EGL_TIMEOUT_EXPIRED 0x30F5
|
||||
#define EGL_CONDITION_SATISFIED 0x30F6
|
||||
#define EGL_NO_SYNC EGL_CAST(EGLSync,0)
|
||||
#define EGL_SYNC_FENCE 0x30F9
|
||||
#define EGL_GL_COLORSPACE 0x309D
|
||||
#define EGL_GL_COLORSPACE_SRGB 0x3089
|
||||
#define EGL_GL_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_GL_RENDERBUFFER 0x30B9
|
||||
#define EGL_GL_TEXTURE_2D 0x30B1
|
||||
#define EGL_GL_TEXTURE_LEVEL 0x30BC
|
||||
#define EGL_GL_TEXTURE_3D 0x30B2
|
||||
#define EGL_GL_TEXTURE_ZOFFSET 0x30BD
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
|
||||
#define EGL_IMAGE_PRESERVED 0x30D2
|
||||
#define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
|
||||
typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
|
||||
typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
|
||||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
|
||||
EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_5 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+1516
File diff suppressed because it is too large
Load Diff
+452
@@ -0,0 +1,452 @@
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// eglext_angle.h: ANGLE modifications to the eglext.h header file.
|
||||
// Currently we don't include this file directly, we patch eglext.h
|
||||
// to include it implicitly so it is visible throughout our code.
|
||||
|
||||
#ifndef INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
#define INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
|
||||
// clang-format off
|
||||
|
||||
#ifndef EGL_ANGLE_robust_resource_initialization
|
||||
#define EGL_ANGLE_robust_resource_initialization 1
|
||||
#define EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE 0x3453
|
||||
#endif /* EGL_ANGLE_robust_resource_initialization */
|
||||
|
||||
#ifndef EGL_ANGLE_keyed_mutex
|
||||
#define EGL_ANGLE_keyed_mutex 1
|
||||
#define EGL_DXGI_KEYED_MUTEX_ANGLE 0x33A2
|
||||
#endif /* EGL_ANGLE_keyed_mutex */
|
||||
|
||||
#ifndef EGL_ANGLE_d3d_texture_client_buffer
|
||||
#define EGL_ANGLE_d3d_texture_client_buffer 1
|
||||
#define EGL_D3D_TEXTURE_ANGLE 0x33A3
|
||||
#define EGL_TEXTURE_OFFSET_X_ANGLE 0x3490
|
||||
#define EGL_TEXTURE_OFFSET_Y_ANGLE 0x3491
|
||||
#define EGL_D3D11_TEXTURE_PLANE_ANGLE 0x3492
|
||||
#define EGL_D3D11_TEXTURE_ARRAY_SLICE_ANGLE 0x3493
|
||||
#endif /* EGL_ANGLE_d3d_texture_client_buffer */
|
||||
|
||||
#ifndef EGL_ANGLE_software_display
|
||||
#define EGL_ANGLE_software_display 1
|
||||
#define EGL_SOFTWARE_DISPLAY_ANGLE ((EGLNativeDisplayType)-1)
|
||||
#endif /* EGL_ANGLE_software_display */
|
||||
|
||||
#ifndef EGL_ANGLE_direct3d_display
|
||||
#define EGL_ANGLE_direct3d_display 1
|
||||
#define EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ((EGLNativeDisplayType)-2)
|
||||
#define EGL_D3D11_ONLY_DISPLAY_ANGLE ((EGLNativeDisplayType)-3)
|
||||
#endif /* EGL_ANGLE_direct3d_display */
|
||||
|
||||
#ifndef EGL_ANGLE_direct_composition
|
||||
#define EGL_ANGLE_direct_composition 1
|
||||
#define EGL_DIRECT_COMPOSITION_ANGLE 0x33A5
|
||||
#endif /* EGL_ANGLE_direct_composition */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle
|
||||
#define EGL_ANGLE_platform_angle 1
|
||||
#define EGL_PLATFORM_ANGLE_ANGLE 0x3202
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3203
|
||||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3204
|
||||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3205
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3206
|
||||
#define EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE 0x3451
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x345E
|
||||
#define EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE 0x348F
|
||||
#endif /* EGL_ANGLE_platform_angle */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d
|
||||
#define EGL_ANGLE_platform_angle_d3d 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3207
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3208
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE 0x320B
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE 0x320C
|
||||
#define EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE 0x320F
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d_luid
|
||||
#define EGL_ANGLE_platform_angle_d3d_luid 1
|
||||
#define EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE 0x34A0
|
||||
#define EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE 0x34A1
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d_luid */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d11on12
|
||||
#define EGL_ANGLE_platform_angle_d3d11on12 1
|
||||
#define EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE 0x3488
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d11on12 */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_opengl
|
||||
#define EGL_ANGLE_platform_angle_opengl 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x320D
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x320E
|
||||
#define EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE 0x3480
|
||||
#endif /* EGL_ANGLE_platform_angle_opengl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_null
|
||||
#define EGL_ANGLE_platform_angle_null 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE 0x33AE
|
||||
#endif /* EGL_ANGLE_platform_angle_null */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_webgpu
|
||||
#define EGL_ANGLE_platform_angle_webgpu 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_WEBGPU_ANGLE 0x34DD
|
||||
#endif /* EGL_ANGLE_platform_angle_webgpu */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_vulkan
|
||||
#define EGL_ANGLE_platform_angle_vulkan 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE 0x3450
|
||||
#define EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE 0x34A4
|
||||
#define EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE 0x34A5
|
||||
#endif /* EGL_ANGLE_platform_angle_vulkan */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_metal
|
||||
#define EGL_ANGLE_platform_angle_metal 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE 0x3489
|
||||
#endif /* EGL_ANGLE_platform_angle_metal */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_type_swiftshader
|
||||
#define EGL_ANGLE_platform_angle_device_type_swiftshader
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE 0x3487
|
||||
#endif /* EGL_ANGLE_platform_angle_device_type_swiftshader */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_type_egl_angle
|
||||
#define EGL_ANGLE_platform_angle_device_type_egl_angle
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE 0x348E
|
||||
#endif /* EGL_ANGLE_platform_angle_device_type_egl_angle */
|
||||
|
||||
#ifndef EGL_ANGLE_context_virtualization
|
||||
#define EGL_ANGLE_context_virtualization 1
|
||||
#define EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE 0x3481
|
||||
#endif /* EGL_ANGLE_context_virtualization */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_context_volatile_eagl
|
||||
#define EGL_ANGLE_platform_angle_device_context_volatile_eagl 1
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE 0x34A2
|
||||
#endif /* EGL_ANGLE_platform_angle_device_context_volatile_eagl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_context_volatile_cgl
|
||||
#define EGL_ANGLE_platform_angle_device_context_volatile_cgl 1
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE 0x34A3
|
||||
#endif /* EGL_ANGLE_platform_angle_device_context_volatile_cgl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_id
|
||||
#define EGL_ANGLE_platform_angle_device_id
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE 0x34D6
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE 0x34D7
|
||||
#define EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE 0x34DC
|
||||
#endif /* EGL_ANGLE_platform_angle_device_id */
|
||||
|
||||
#ifndef EGL_ANGLE_x11_visual
|
||||
#define EGL_ANGLE_x11_visual
|
||||
#define EGL_X11_VISUAL_ID_ANGLE 0x33A3
|
||||
#endif /* EGL_ANGLE_x11_visual */
|
||||
|
||||
#ifndef EGL_ANGLE_surface_orientation
|
||||
#define EGL_ANGLE_surface_orientation
|
||||
#define EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE 0x33A7
|
||||
#define EGL_SURFACE_ORIENTATION_ANGLE 0x33A8
|
||||
#define EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE 0x0001
|
||||
#define EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE 0x0002
|
||||
#endif /* EGL_ANGLE_surface_orientation */
|
||||
|
||||
#ifndef EGL_ANGLE_experimental_present_path
|
||||
#define EGL_ANGLE_experimental_present_path
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE 0x33A4
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE 0x33A9
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE 0x33AA
|
||||
#endif /* EGL_ANGLE_experimental_present_path */
|
||||
|
||||
#ifndef EGL_ANGLE_stream_producer_d3d_texture
|
||||
#define EGL_ANGLE_stream_producer_d3d_texture
|
||||
#define EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE 0x33AB
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglCreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamPostD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_stream_producer_d3d_texture */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_webgl_compatibility
|
||||
#define EGL_ANGLE_create_context_webgl_compatibility 1
|
||||
#define EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE 0x33AC
|
||||
#endif /* EGL_ANGLE_create_context_webgl_compatibility */
|
||||
|
||||
#ifndef EGL_ANGLE_display_texture_share_group
|
||||
#define EGL_ANGLE_display_texture_share_group 1
|
||||
#define EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE 0x33AF
|
||||
#endif /* EGL_ANGLE_display_texture_share_group */
|
||||
|
||||
#ifndef EGL_CHROMIUM_create_context_bind_generates_resource
|
||||
#define EGL_CHROMIUM_create_context_bind_generates_resource 1
|
||||
#define EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM 0x33AD
|
||||
#endif /* EGL_CHROMIUM_create_context_bind_generates_resource */
|
||||
|
||||
#ifndef EGL_ANGLE_metal_create_context_ownership_identity
|
||||
#define EGL_ANGLE_metal_create_context_ownership_identity 1
|
||||
#define EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE 0x34D2
|
||||
#endif /* EGL_ANGLE_metal_create_context_ownership_identity */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_client_arrays
|
||||
#define EGL_ANGLE_create_context_client_arrays 1
|
||||
#define EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE 0x3452
|
||||
#endif /* EGL_ANGLE_create_context_client_arrays */
|
||||
|
||||
#ifndef EGL_ANGLE_device_creation
|
||||
#define EGL_ANGLE_device_creation 1
|
||||
typedef EGLDeviceEXT(EGLAPIENTRYP PFNEGLCREATEDEVICEANGLEPROC) (EGLint device_type, void *native_device, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLRELEASEDEVICEANGLEPROC) (EGLDeviceEXT device);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLDeviceEXT EGLAPIENTRY eglCreateDeviceANGLE(EGLint device_type, void *native_device, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseDeviceANGLE(EGLDeviceEXT device);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_device_creation */
|
||||
|
||||
#ifndef EGL_ANGLE_program_cache_control
|
||||
#define EGL_ANGLE_program_cache_control 1
|
||||
#define EGL_PROGRAM_CACHE_SIZE_ANGLE 0x3455
|
||||
#define EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE 0x3456
|
||||
#define EGL_PROGRAM_CACHE_RESIZE_ANGLE 0x3457
|
||||
#define EGL_PROGRAM_CACHE_TRIM_ANGLE 0x3458
|
||||
#define EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE 0x3459
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC) (EGLDisplay dpy, EGLenum attrib);
|
||||
typedef void (EGLAPIENTRYP PFNEGLPROGRAMCACHEQUERYANGLEPROC) (EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize);
|
||||
typedef void (EGLAPIENTRYP PFNEGLPROGRAMCACHEPOPULATEANGLEPROC) (EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLPROGRAMCACHERESIZEANGLEPROC) (EGLDisplay dpy, EGLint limit, EGLint mode);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLint EGLAPIENTRY eglProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib);
|
||||
EGLAPI void EGLAPIENTRY eglProgramCacheQueryANGLE(EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize);
|
||||
EGLAPI void EGLAPIENTRY eglProgramCachePopulateANGLE(EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize);
|
||||
EGLAPI EGLint EGLAPIENTRY eglProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGLint mode);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_program_cache_control */
|
||||
|
||||
#ifndef EGL_ANGLE_iosurface_client_buffer
|
||||
#define EGL_ANGLE_iosurface_client_buffer 1
|
||||
#define EGL_IOSURFACE_ANGLE 0x3454
|
||||
#define EGL_IOSURFACE_PLANE_ANGLE 0x345A
|
||||
#define EGL_TEXTURE_RECTANGLE_ANGLE 0x345B
|
||||
#define EGL_TEXTURE_TYPE_ANGLE 0x345C
|
||||
#define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
|
||||
#define EGL_IOSURFACE_USAGE_HINT_ANGLE 0x348A
|
||||
#define EGL_IOSURFACE_READ_HINT_ANGLE 0x0001
|
||||
#define EGL_IOSURFACE_WRITE_HINT_ANGLE 0x0002
|
||||
#define EGL_BIND_TO_TEXTURE_TARGET_ANGLE 0x348D
|
||||
#endif /* EGL_ANGLE_iosurface_client_buffer */
|
||||
|
||||
#ifndef ANGLE_metal_texture_client_buffer
|
||||
#define ANGLE_metal_texture_client_buffer 1
|
||||
#define EGL_METAL_TEXTURE_ANGLE 0x34A7
|
||||
#define EGL_METAL_TEXTURE_ARRAY_SLICE_ANGLE 0x34DD
|
||||
#endif /* ANGLE_metal_texture_client_buffer */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_extensions_enabled
|
||||
#define EGL_ANGLE_create_context_extensions_enabled 1
|
||||
#define EGL_EXTENSIONS_ENABLED_ANGLE 0x345F
|
||||
#endif /* EGL_ANGLE_create_context_extensions_enabled */
|
||||
|
||||
#ifndef EGL_CHROMIUM_sync_control
|
||||
#define EGL_CHROMIUM_sync_control 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCVALUESCHROMIUMPROC) (EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLuint64KHR *ust,
|
||||
EGLuint64KHR *msc,
|
||||
EGLuint64KHR *sbc);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLuint64KHR *ust,
|
||||
EGLuint64KHR *msc,
|
||||
EGLuint64KHR *sbc);
|
||||
#endif
|
||||
#endif /* EGL_CHROMIUM_sync_control */
|
||||
|
||||
#ifndef EGL_ANGLE_sync_control_rate
|
||||
#define EGL_ANGLE_sync_control_rate 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLint *numerator,
|
||||
EGLint *denominator);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE(EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLint *numerator,
|
||||
EGLint *denominator);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_sync_control_rate */
|
||||
|
||||
#ifndef EGL_ANGLE_power_preference
|
||||
#define EGL_ANGLE_power_preference 1
|
||||
#define EGL_POWER_PREFERENCE_ANGLE 0x3482
|
||||
#define EGL_LOW_POWER_ANGLE 0x0001
|
||||
#define EGL_HIGH_POWER_ANGLE 0x0002
|
||||
typedef void(EGLAPIENTRYP PFNEGLRELEASEHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef void(EGLAPIENTRYP PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef void(EGLAPIENTRYP PFNEGLHANDLEGPUSWITCHANGLEPROC) (EGLDisplay dpy);
|
||||
typedef void(EGLAPIENTRYP PFNEGLFORCEGPUSWITCHANGLEPROC) (EGLDisplay dpy, EGLint gpuIDHigh, EGLint gpuIDLow);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI void EGLAPIENTRY eglReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI void EGLAPIENTRY eglHandleGPUSwitchANGLE(EGLDisplay dpy);
|
||||
EGLAPI void EGLAPIENTRY eglForceGPUSwitchANGLE(EGLDisplay dpy, EGLint gpuIDHigh, EGLint gpuIDLow);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_power_preference */
|
||||
|
||||
#ifndef EGL_ANGLE_wait_until_work_scheduled
|
||||
#define EGL_ANGLE_wait_until_work_scheduled 1
|
||||
typedef void(EGLAPIENTRYP PFNEGLWAITUNTILWORKSCHEDULEDANGLEPROC) (EGLDisplay dpy);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglWaitUntilWorkScheduledANGLE(EGLDisplay dpy);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_wait_until_work_scheduled */
|
||||
|
||||
#ifndef EGL_ANGLE_feature_control
|
||||
#define EGL_ANGLE_feature_control 1
|
||||
#define EGL_FEATURE_NAME_ANGLE 0x3460
|
||||
#define EGL_FEATURE_CATEGORY_ANGLE 0x3461
|
||||
#define EGL_FEATURE_DESCRIPTION_ANGLE 0x3462
|
||||
#define EGL_FEATURE_BUG_ANGLE 0x3463
|
||||
#define EGL_FEATURE_STATUS_ANGLE 0x3464
|
||||
#define EGL_FEATURE_COUNT_ANGLE 0x3465
|
||||
#define EGL_FEATURE_OVERRIDES_ENABLED_ANGLE 0x3466
|
||||
#define EGL_FEATURE_OVERRIDES_DISABLED_ANGLE 0x3467
|
||||
#define EGL_FEATURE_CONDITION_ANGLE 0x3468
|
||||
#define EGL_FEATURE_ALL_DISABLED_ANGLE 0x3469
|
||||
typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGIANGLEPROC) (EGLDisplay dpy, EGLint name, EGLint index);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBANGLEPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI const char *EGLAPIENTRY eglQueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLint index);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribANGLE(EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_feature_control */
|
||||
|
||||
#ifndef EGL_ANGLE_image_d3d11_texture
|
||||
#define EGL_D3D11_TEXTURE_ANGLE 0x3484
|
||||
#define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
|
||||
#endif /* EGL_ANGLE_image_d3d11_texture */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_backwards_compatible
|
||||
#define EGL_ANGLE_create_context_backwards_compatible 1
|
||||
#define EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE 0x3483
|
||||
#endif /* EGL_ANGLE_create_context_backwards_compatible */
|
||||
|
||||
#ifndef EGL_ANGLE_device_cgl
|
||||
#define EGL_ANGLE_device_cgl 1
|
||||
#define EGL_CGL_CONTEXT_ANGLE 0x3485
|
||||
#define EGL_CGL_PIXEL_FORMAT_ANGLE 0x3486
|
||||
#endif
|
||||
|
||||
#ifndef EGL_ANGLE_ggp_stream_descriptor
|
||||
#define EGL_ANGLE_ggp_stream_descriptor 1
|
||||
#define EGL_GGP_STREAM_DESCRIPTOR_ANGLE 0x348B
|
||||
#endif /* EGL_ANGLE_ggp_stream_descriptor */
|
||||
|
||||
#ifndef EGL_ANGLE_swap_with_frame_token
|
||||
#define EGL_ANGLE_swap_with_frame_token 1
|
||||
typedef khronos_uint64_t EGLFrameTokenANGLE;
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_swap_with_frame_token */
|
||||
|
||||
#ifndef EGL_ANGLE_prepare_swap_buffers
|
||||
#define EGL_ANGLE_prepare_swap_buffers 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLPREPARESWAPBUFFERSANGLEPROC)(EGLDisplay dpy, EGLSurface surface);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_prepare_swap_buffers */
|
||||
|
||||
#ifndef EGL_ANGLE_device_eagl
|
||||
#define EGL_ANGLE_device_eagl 1
|
||||
#define EGL_EAGL_CONTEXT_ANGLE 0x348C
|
||||
#endif
|
||||
|
||||
#ifndef EGL_ANGLE_device_metal
|
||||
#define EGL_ANGLE_device_metal 1
|
||||
#define EGL_METAL_DEVICE_ANGLE 0x34A6
|
||||
#endif /* EGL_ANGLE_device_metal */
|
||||
|
||||
#ifndef EGL_ANGLE_display_semaphore_share_group
|
||||
#define EGL_ANGLE_display_semaphore_share_group 1
|
||||
#define EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE 0x348D
|
||||
#endif /* EGL_ANGLE_display_semaphore_share_group */
|
||||
|
||||
#ifndef EGL_ANGLE_external_context_and_surface
|
||||
#define EGL_ANGLE_external_context_and_surface 1
|
||||
#define EGL_EXTERNAL_CONTEXT_ANGLE 0x348E
|
||||
#define EGL_EXTERNAL_SURFACE_ANGLE 0x348F
|
||||
typedef void (EGLAPIENTRYP PFNEGLACQUIREEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy, EGLSurface readAndDraw);
|
||||
typedef void (EGLAPIENTRYP PFNEGLRELEASEEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglAcquireExternalContextANGLE(EGLDisplay dpy, EGLSurface drawAndRead);
|
||||
EGLAPI void EGLAPIENTRY eglReleaseExternalContextANGLE(EGLDisplay dpy);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_external_context_and_surface */
|
||||
|
||||
#ifndef EGL_ANGLE_create_surface_swap_interval
|
||||
#define EGL_ANGLE_create_surface_swap_interval 1
|
||||
#define EGL_SWAP_INTERVAL_ANGLE 0x322F
|
||||
#endif /* EGL_ANGLE_create_surface_swap_interval */
|
||||
|
||||
#ifndef EGL_ANGLE_device_vulkan
|
||||
#define EGL_ANGLE_device_vulkan 1
|
||||
#define EGL_VULKAN_VERSION_ANGLE 0x34A8
|
||||
#define EGL_VULKAN_INSTANCE_ANGLE 0x34A9
|
||||
#define EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE 0x34AA
|
||||
#define EGL_VULKAN_PHYSICAL_DEVICE_ANGLE 0x34AB
|
||||
#define EGL_VULKAN_DEVICE_ANGLE 0x34AC
|
||||
#define EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE 0x34AD
|
||||
#define EGL_VULKAN_FEATURES_ANGLE 0x34AE
|
||||
#define EGL_VULKAN_QUEUE_ANGLE 0x34AF
|
||||
#define EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE 0x34D0
|
||||
#define EGL_VULKAN_GET_INSTANCE_PROC_ADDR 0x34D1
|
||||
#endif /* EGL_ANGLE_device_vulkan */
|
||||
|
||||
#ifndef EGL_ANGLE_vulkan_image
|
||||
#define EGL_ANGLE_vulkan_image
|
||||
#define EGL_VULKAN_IMAGE_ANGLE 0x34D3
|
||||
#define EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE 0x34D4
|
||||
#define EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE 0x34D5
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTVKIMAGEANGLEPROC)(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglExportVkImageANGLE(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_vulkan_image */
|
||||
|
||||
#ifndef EGL_ANGLE_metal_shared_event_sync
|
||||
#define EGL_ANGLE_metal_hared_event_sync 1
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_ANGLE 0x34D8
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE 0x34D9
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE 0x34DA
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE 0x34DB
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE 0x34DC
|
||||
typedef void* (EGLAPIENTRYP PFNEGLCOPYMETALSHAREDEVENTANGLEPROC)(EGLDisplay dpy, EGLSync sync);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void *EGLAPIENTRY eglCopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSync sync);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_metal_shared_event_sync */
|
||||
|
||||
#ifndef EGL_ANGLE_global_fence_sync
|
||||
#define EGL_ANGLE_global_fence_sync 1
|
||||
#define EGL_SYNC_GLOBAL_FENCE_ANGLE 0x34DE
|
||||
#endif /* EGL_ANGLE_global_fence_sync */
|
||||
|
||||
#ifndef EGL_ANGLE_no_error
|
||||
#define EGL_ANGLE_no_error 1
|
||||
typedef void (EGLAPIENTRYP PFNEGLSETVALIDATIONENABLEDANGLEPROC)(EGLBoolean validationState);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglSetValidationEnabledANGLE(EGLBoolean validationState);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_no_error */
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif // INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
#ifndef __eglplatform_h_
|
||||
#define __eglplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2007-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for egl.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* You are encouraged to submit all modifications to the Khronos group so that
|
||||
* they can be included in future versions of this file. Please submit changes
|
||||
* by filing an issue or pull request on the public Khronos EGL Registry, at
|
||||
* https://www.github.com/KhronosGroup/EGL-Registry/
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
/* Macros used in EGL function prototype declarations.
|
||||
*
|
||||
* EGL functions should be prototyped as:
|
||||
*
|
||||
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
||||
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
||||
*
|
||||
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
||||
*/
|
||||
|
||||
#ifndef EGLAPI
|
||||
#define EGLAPI KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef EGLAPIENTRY
|
||||
#define EGLAPIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
#define EGLAPIENTRYP EGLAPIENTRY*
|
||||
|
||||
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
||||
* are aliases of window-system-dependent types, such as X Display * or
|
||||
* Windows Device Context. They must be defined in platform-specific
|
||||
* code below. The EGL-prefixed versions of Native*Type are the same
|
||||
* types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
||||
*
|
||||
* Khronos STRONGLY RECOMMENDS that you use the default definitions
|
||||
* provided below, since these changes affect both binary and source
|
||||
* portability of applications using EGL running on different EGL
|
||||
* implementations.
|
||||
*/
|
||||
|
||||
#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#endif
|
||||
#include <windows.h>
|
||||
|
||||
typedef HDC EGLNativeDisplayType;
|
||||
typedef HBITMAP EGLNativePixmapType;
|
||||
|
||||
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) /* Windows Desktop */
|
||||
typedef HWND EGLNativeWindowType;
|
||||
#else /* Windows Store */
|
||||
#include <inspectable.h>
|
||||
typedef IInspectable* EGLNativeWindowType;
|
||||
#endif
|
||||
|
||||
#elif defined(__EMSCRIPTEN__)
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef int EGLNativePixmapType;
|
||||
typedef int EGLNativeWindowType;
|
||||
|
||||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(WL_EGL_PLATFORM)
|
||||
|
||||
typedef struct wl_display *EGLNativeDisplayType;
|
||||
typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
||||
typedef struct wl_egl_window *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__GBM__)
|
||||
|
||||
typedef struct gbm_device *EGLNativeDisplayType;
|
||||
typedef struct gbm_bo *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__ANDROID__) || defined(ANDROID)
|
||||
|
||||
struct ANativeWindow;
|
||||
struct egl_native_pixmap_t;
|
||||
|
||||
typedef void* EGLNativeDisplayType;
|
||||
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
|
||||
typedef struct ANativeWindow* EGLNativeWindowType;
|
||||
|
||||
#elif defined(USE_OZONE)
|
||||
|
||||
typedef intptr_t EGLNativeDisplayType;
|
||||
typedef intptr_t EGLNativePixmapType;
|
||||
typedef intptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(USE_X11)
|
||||
|
||||
/* X11 (tentative) */
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
typedef Display *EGLNativeDisplayType;
|
||||
typedef Pixmap EGLNativePixmapType;
|
||||
typedef Window EGLNativeWindowType;
|
||||
|
||||
#elif defined(__unix__)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
|
||||
#include <kernel/image.h>
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__Fuchsia__)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__QNX__)
|
||||
|
||||
typedef khronos_uintptr_t EGLNativeDisplayType;
|
||||
typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */
|
||||
typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */
|
||||
|
||||
#else
|
||||
#error "Platform not recognized"
|
||||
#endif
|
||||
|
||||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||
typedef EGLNativeDisplayType NativeDisplayType;
|
||||
typedef EGLNativePixmapType NativePixmapType;
|
||||
typedef EGLNativeWindowType NativeWindowType;
|
||||
|
||||
|
||||
/* Define EGLint. This must be a signed integral type large enough to contain
|
||||
* all legal attribute names and values passed into and out of EGL, whether
|
||||
* their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
||||
* handle, or other. While in general a 32-bit integer will suffice, if
|
||||
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
||||
* integer type.
|
||||
*/
|
||||
typedef khronos_int32_t EGLint;
|
||||
|
||||
|
||||
/* C++ / C typecast macros for special EGL handle values */
|
||||
#if defined(__cplusplus)
|
||||
#define EGL_CAST(type, value) (static_cast<type>(value))
|
||||
#else
|
||||
#define EGL_CAST(type, value) ((type) (value))
|
||||
#endif
|
||||
|
||||
#endif /* __eglplatform_h */
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# ANGLE GLES 1.0 Headers
|
||||
|
||||
The GLES 1.0 headers ANGLE uses are generated using the Khronos tools but modified to include function pointer types and function prototype guards.
|
||||
|
||||
### Regenerating gl.h
|
||||
|
||||
1. Install **Python 3** (not 2) with the **lxml** addon. You can do this using `pip install lxml` from your Python's Scripts folder.
|
||||
1. Clone [https://github.com/KhronosGroup/OpenGL-Registry.git](https://github.com/KhronosGroup/OpenGL-Registry.git).
|
||||
1. Edit `OpenGL-Registry/xml/genheaders.py`:
|
||||
|
||||
1. Look for the section titled `# GLES 1.x API + mandatory extensions - GLES/gl.h (no function pointers)`
|
||||
1. Change `prefixText = prefixStrings + gles1PlatformStrings + genDateCommentString,` to `prefixText = prefixStrings + gles1PlatformStrings + apiEntryPrefixStrings + genDateCommentString,`
|
||||
1. Change `genFuncPointers = False,` to `genFuncPointers = True,`
|
||||
1. Change `protectProto = False,` to `protectProto = 'nonzero',`
|
||||
1. Change `protectProtoStr = 'GL_GLEXT_PROTOTYPES',` to `protectProtoStr = 'GL_GLES_PROTOTYPES',`
|
||||
|
||||
1. Set your working directory to `OpenGL-Registry/xml/`.
|
||||
1. Run `python genheaders.py ../api/GLES/gl.h`
|
||||
1. The generated header will now be in `OpenGL-Registry/api/GLES/gl.h`. You can copy the header over to this folder.
|
||||
1. Also update `scripts/gl.xml` with the latest version from `OpenGL-Registry/xml/`.
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
** Copyright (c) 2008-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Skeleton egl.h to provide compatibility for early GLES 1.0
|
||||
* applications. Several early implementations included gl.h
|
||||
* in egl.h leading applications to include only egl.h
|
||||
*/
|
||||
|
||||
#ifndef __legacy_egl_h_
|
||||
#define __legacy_egl_h_
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
#include <MetalANGLEKit/GLES/gl.h>
|
||||
#else
|
||||
#include <EGL/egl.h>
|
||||
#include <GLES/gl.h>
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __legacy_egl_h_ */
|
||||
+753
@@ -0,0 +1,753 @@
|
||||
#ifndef __gles1_gl_h_
|
||||
#define __gles1_gl_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
/*
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/GLES/glplatform.h>
|
||||
#else
|
||||
#include <GLES/glplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
/* Generated on date 20181204 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles1
|
||||
* Profile: common
|
||||
* Versions considered: .*
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: ^(GL_OES_read_format|GL_OES_compressed_paletted_texture|GL_OES_point_size_array|GL_OES_point_sprite)$
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef GL_VERSION_ES_CM_1_0
|
||||
#define GL_VERSION_ES_CM_1_0 1
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
typedef khronos_int8_t GLbyte;
|
||||
typedef khronos_float_t GLclampf;
|
||||
typedef khronos_int16_t GLshort;
|
||||
typedef khronos_uint16_t GLushort;
|
||||
typedef void GLvoid;
|
||||
typedef unsigned int GLenum;
|
||||
typedef khronos_float_t GLfloat;
|
||||
typedef khronos_int32_t GLfixed;
|
||||
typedef unsigned int GLuint;
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
typedef unsigned int GLbitfield;
|
||||
typedef int GLint;
|
||||
typedef khronos_uint8_t GLubyte;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef int GLsizei;
|
||||
typedef khronos_int32_t GLclampx;
|
||||
#define GL_VERSION_ES_CL_1_0 1
|
||||
#define GL_VERSION_ES_CM_1_1 1
|
||||
#define GL_VERSION_ES_CL_1_1 1
|
||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||
#define GL_FALSE 0
|
||||
#define GL_TRUE 1
|
||||
#define GL_POINTS 0x0000
|
||||
#define GL_LINES 0x0001
|
||||
#define GL_LINE_LOOP 0x0002
|
||||
#define GL_LINE_STRIP 0x0003
|
||||
#define GL_TRIANGLES 0x0004
|
||||
#define GL_TRIANGLE_STRIP 0x0005
|
||||
#define GL_TRIANGLE_FAN 0x0006
|
||||
#define GL_NEVER 0x0200
|
||||
#define GL_LESS 0x0201
|
||||
#define GL_EQUAL 0x0202
|
||||
#define GL_LEQUAL 0x0203
|
||||
#define GL_GREATER 0x0204
|
||||
#define GL_NOTEQUAL 0x0205
|
||||
#define GL_GEQUAL 0x0206
|
||||
#define GL_ALWAYS 0x0207
|
||||
#define GL_ZERO 0
|
||||
#define GL_ONE 1
|
||||
#define GL_SRC_COLOR 0x0300
|
||||
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
||||
#define GL_SRC_ALPHA 0x0302
|
||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
#define GL_CLIP_PLANE0 0x3000
|
||||
#define GL_CLIP_PLANE1 0x3001
|
||||
#define GL_CLIP_PLANE2 0x3002
|
||||
#define GL_CLIP_PLANE3 0x3003
|
||||
#define GL_CLIP_PLANE4 0x3004
|
||||
#define GL_CLIP_PLANE5 0x3005
|
||||
#define GL_FRONT 0x0404
|
||||
#define GL_BACK 0x0405
|
||||
#define GL_FRONT_AND_BACK 0x0408
|
||||
#define GL_FOG 0x0B60
|
||||
#define GL_LIGHTING 0x0B50
|
||||
#define GL_TEXTURE_2D 0x0DE1
|
||||
#define GL_CULL_FACE 0x0B44
|
||||
#define GL_ALPHA_TEST 0x0BC0
|
||||
#define GL_BLEND 0x0BE2
|
||||
#define GL_COLOR_LOGIC_OP 0x0BF2
|
||||
#define GL_DITHER 0x0BD0
|
||||
#define GL_STENCIL_TEST 0x0B90
|
||||
#define GL_DEPTH_TEST 0x0B71
|
||||
#define GL_POINT_SMOOTH 0x0B10
|
||||
#define GL_LINE_SMOOTH 0x0B20
|
||||
#define GL_SCISSOR_TEST 0x0C11
|
||||
#define GL_COLOR_MATERIAL 0x0B57
|
||||
#define GL_NORMALIZE 0x0BA1
|
||||
#define GL_RESCALE_NORMAL 0x803A
|
||||
#define GL_VERTEX_ARRAY 0x8074
|
||||
#define GL_NORMAL_ARRAY 0x8075
|
||||
#define GL_COLOR_ARRAY 0x8076
|
||||
#define GL_TEXTURE_COORD_ARRAY 0x8078
|
||||
#define GL_MULTISAMPLE 0x809D
|
||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
|
||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
#define GL_INVALID_OPERATION 0x0502
|
||||
#define GL_STACK_OVERFLOW 0x0503
|
||||
#define GL_STACK_UNDERFLOW 0x0504
|
||||
#define GL_OUT_OF_MEMORY 0x0505
|
||||
#define GL_EXP 0x0800
|
||||
#define GL_EXP2 0x0801
|
||||
#define GL_FOG_DENSITY 0x0B62
|
||||
#define GL_FOG_START 0x0B63
|
||||
#define GL_FOG_END 0x0B64
|
||||
#define GL_FOG_MODE 0x0B65
|
||||
#define GL_FOG_COLOR 0x0B66
|
||||
#define GL_CW 0x0900
|
||||
#define GL_CCW 0x0901
|
||||
#define GL_CURRENT_COLOR 0x0B00
|
||||
#define GL_CURRENT_NORMAL 0x0B02
|
||||
#define GL_CURRENT_TEXTURE_COORDS 0x0B03
|
||||
#define GL_POINT_SIZE 0x0B11
|
||||
#define GL_POINT_SIZE_MIN 0x8126
|
||||
#define GL_POINT_SIZE_MAX 0x8127
|
||||
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
|
||||
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
|
||||
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
|
||||
#define GL_LINE_WIDTH 0x0B21
|
||||
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
|
||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||
#define GL_CULL_FACE_MODE 0x0B45
|
||||
#define GL_FRONT_FACE 0x0B46
|
||||
#define GL_SHADE_MODEL 0x0B54
|
||||
#define GL_DEPTH_RANGE 0x0B70
|
||||
#define GL_DEPTH_WRITEMASK 0x0B72
|
||||
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
||||
#define GL_DEPTH_FUNC 0x0B74
|
||||
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
||||
#define GL_STENCIL_FUNC 0x0B92
|
||||
#define GL_STENCIL_VALUE_MASK 0x0B93
|
||||
#define GL_STENCIL_FAIL 0x0B94
|
||||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
||||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
||||
#define GL_STENCIL_REF 0x0B97
|
||||
#define GL_STENCIL_WRITEMASK 0x0B98
|
||||
#define GL_MATRIX_MODE 0x0BA0
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
|
||||
#define GL_PROJECTION_STACK_DEPTH 0x0BA4
|
||||
#define GL_TEXTURE_STACK_DEPTH 0x0BA5
|
||||
#define GL_MODELVIEW_MATRIX 0x0BA6
|
||||
#define GL_PROJECTION_MATRIX 0x0BA7
|
||||
#define GL_TEXTURE_MATRIX 0x0BA8
|
||||
#define GL_ALPHA_TEST_FUNC 0x0BC1
|
||||
#define GL_ALPHA_TEST_REF 0x0BC2
|
||||
#define GL_BLEND_DST 0x0BE0
|
||||
#define GL_BLEND_SRC 0x0BE1
|
||||
#define GL_LOGIC_OP_MODE 0x0BF0
|
||||
#define GL_SCISSOR_BOX 0x0C10
|
||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||
#define GL_COLOR_WRITEMASK 0x0C23
|
||||
#define GL_MAX_LIGHTS 0x0D31
|
||||
#define GL_MAX_CLIP_PLANES 0x0D32
|
||||
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
||||
#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
|
||||
#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
|
||||
#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
|
||||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
||||
#define GL_MAX_TEXTURE_UNITS 0x84E2
|
||||
#define GL_SUBPIXEL_BITS 0x0D50
|
||||
#define GL_RED_BITS 0x0D52
|
||||
#define GL_GREEN_BITS 0x0D53
|
||||
#define GL_BLUE_BITS 0x0D54
|
||||
#define GL_ALPHA_BITS 0x0D55
|
||||
#define GL_DEPTH_BITS 0x0D56
|
||||
#define GL_STENCIL_BITS 0x0D57
|
||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||
#define GL_VERTEX_ARRAY_SIZE 0x807A
|
||||
#define GL_VERTEX_ARRAY_TYPE 0x807B
|
||||
#define GL_VERTEX_ARRAY_STRIDE 0x807C
|
||||
#define GL_NORMAL_ARRAY_TYPE 0x807E
|
||||
#define GL_NORMAL_ARRAY_STRIDE 0x807F
|
||||
#define GL_COLOR_ARRAY_SIZE 0x8081
|
||||
#define GL_COLOR_ARRAY_TYPE 0x8082
|
||||
#define GL_COLOR_ARRAY_STRIDE 0x8083
|
||||
#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
|
||||
#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
|
||||
#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
|
||||
#define GL_VERTEX_ARRAY_POINTER 0x808E
|
||||
#define GL_NORMAL_ARRAY_POINTER 0x808F
|
||||
#define GL_COLOR_ARRAY_POINTER 0x8090
|
||||
#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
|
||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||
#define GL_SAMPLES 0x80A9
|
||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||
#define GL_DONT_CARE 0x1100
|
||||
#define GL_FASTEST 0x1101
|
||||
#define GL_NICEST 0x1102
|
||||
#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
|
||||
#define GL_POINT_SMOOTH_HINT 0x0C51
|
||||
#define GL_LINE_SMOOTH_HINT 0x0C52
|
||||
#define GL_FOG_HINT 0x0C54
|
||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||
#define GL_LIGHT_MODEL_AMBIENT 0x0B53
|
||||
#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
|
||||
#define GL_AMBIENT 0x1200
|
||||
#define GL_DIFFUSE 0x1201
|
||||
#define GL_SPECULAR 0x1202
|
||||
#define GL_POSITION 0x1203
|
||||
#define GL_SPOT_DIRECTION 0x1204
|
||||
#define GL_SPOT_EXPONENT 0x1205
|
||||
#define GL_SPOT_CUTOFF 0x1206
|
||||
#define GL_CONSTANT_ATTENUATION 0x1207
|
||||
#define GL_LINEAR_ATTENUATION 0x1208
|
||||
#define GL_QUADRATIC_ATTENUATION 0x1209
|
||||
#define GL_BYTE 0x1400
|
||||
#define GL_UNSIGNED_BYTE 0x1401
|
||||
#define GL_SHORT 0x1402
|
||||
#define GL_UNSIGNED_SHORT 0x1403
|
||||
#define GL_FLOAT 0x1406
|
||||
#define GL_FIXED 0x140C
|
||||
#define GL_CLEAR 0x1500
|
||||
#define GL_AND 0x1501
|
||||
#define GL_AND_REVERSE 0x1502
|
||||
#define GL_COPY 0x1503
|
||||
#define GL_AND_INVERTED 0x1504
|
||||
#define GL_NOOP 0x1505
|
||||
#define GL_XOR 0x1506
|
||||
#define GL_OR 0x1507
|
||||
#define GL_NOR 0x1508
|
||||
#define GL_EQUIV 0x1509
|
||||
#define GL_INVERT 0x150A
|
||||
#define GL_OR_REVERSE 0x150B
|
||||
#define GL_COPY_INVERTED 0x150C
|
||||
#define GL_OR_INVERTED 0x150D
|
||||
#define GL_NAND 0x150E
|
||||
#define GL_SET 0x150F
|
||||
#define GL_EMISSION 0x1600
|
||||
#define GL_SHININESS 0x1601
|
||||
#define GL_AMBIENT_AND_DIFFUSE 0x1602
|
||||
#define GL_MODELVIEW 0x1700
|
||||
#define GL_PROJECTION 0x1701
|
||||
#define GL_TEXTURE 0x1702
|
||||
#define GL_ALPHA 0x1906
|
||||
#define GL_RGB 0x1907
|
||||
#define GL_RGBA 0x1908
|
||||
#define GL_LUMINANCE 0x1909
|
||||
#define GL_LUMINANCE_ALPHA 0x190A
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_PACK_ALIGNMENT 0x0D05
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||
#define GL_FLAT 0x1D00
|
||||
#define GL_SMOOTH 0x1D01
|
||||
#define GL_KEEP 0x1E00
|
||||
#define GL_REPLACE 0x1E01
|
||||
#define GL_INCR 0x1E02
|
||||
#define GL_DECR 0x1E03
|
||||
#define GL_VENDOR 0x1F00
|
||||
#define GL_RENDERER 0x1F01
|
||||
#define GL_VERSION 0x1F02
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
#define GL_MODULATE 0x2100
|
||||
#define GL_DECAL 0x2101
|
||||
#define GL_ADD 0x0104
|
||||
#define GL_TEXTURE_ENV_MODE 0x2200
|
||||
#define GL_TEXTURE_ENV_COLOR 0x2201
|
||||
#define GL_TEXTURE_ENV 0x2300
|
||||
#define GL_NEAREST 0x2600
|
||||
#define GL_LINEAR 0x2601
|
||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||
#define GL_TEXTURE_WRAP_S 0x2802
|
||||
#define GL_TEXTURE_WRAP_T 0x2803
|
||||
#define GL_GENERATE_MIPMAP 0x8191
|
||||
#define GL_TEXTURE0 0x84C0
|
||||
#define GL_TEXTURE1 0x84C1
|
||||
#define GL_TEXTURE2 0x84C2
|
||||
#define GL_TEXTURE3 0x84C3
|
||||
#define GL_TEXTURE4 0x84C4
|
||||
#define GL_TEXTURE5 0x84C5
|
||||
#define GL_TEXTURE6 0x84C6
|
||||
#define GL_TEXTURE7 0x84C7
|
||||
#define GL_TEXTURE8 0x84C8
|
||||
#define GL_TEXTURE9 0x84C9
|
||||
#define GL_TEXTURE10 0x84CA
|
||||
#define GL_TEXTURE11 0x84CB
|
||||
#define GL_TEXTURE12 0x84CC
|
||||
#define GL_TEXTURE13 0x84CD
|
||||
#define GL_TEXTURE14 0x84CE
|
||||
#define GL_TEXTURE15 0x84CF
|
||||
#define GL_TEXTURE16 0x84D0
|
||||
#define GL_TEXTURE17 0x84D1
|
||||
#define GL_TEXTURE18 0x84D2
|
||||
#define GL_TEXTURE19 0x84D3
|
||||
#define GL_TEXTURE20 0x84D4
|
||||
#define GL_TEXTURE21 0x84D5
|
||||
#define GL_TEXTURE22 0x84D6
|
||||
#define GL_TEXTURE23 0x84D7
|
||||
#define GL_TEXTURE24 0x84D8
|
||||
#define GL_TEXTURE25 0x84D9
|
||||
#define GL_TEXTURE26 0x84DA
|
||||
#define GL_TEXTURE27 0x84DB
|
||||
#define GL_TEXTURE28 0x84DC
|
||||
#define GL_TEXTURE29 0x84DD
|
||||
#define GL_TEXTURE30 0x84DE
|
||||
#define GL_TEXTURE31 0x84DF
|
||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
|
||||
#define GL_REPEAT 0x2901
|
||||
#define GL_CLAMP_TO_EDGE 0x812F
|
||||
#define GL_LIGHT0 0x4000
|
||||
#define GL_LIGHT1 0x4001
|
||||
#define GL_LIGHT2 0x4002
|
||||
#define GL_LIGHT3 0x4003
|
||||
#define GL_LIGHT4 0x4004
|
||||
#define GL_LIGHT5 0x4005
|
||||
#define GL_LIGHT6 0x4006
|
||||
#define GL_LIGHT7 0x4007
|
||||
#define GL_ARRAY_BUFFER 0x8892
|
||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||
#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
|
||||
#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
|
||||
#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
|
||||
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
|
||||
#define GL_STATIC_DRAW 0x88E4
|
||||
#define GL_DYNAMIC_DRAW 0x88E8
|
||||
#define GL_BUFFER_SIZE 0x8764
|
||||
#define GL_BUFFER_USAGE 0x8765
|
||||
#define GL_SUBTRACT 0x84E7
|
||||
#define GL_COMBINE 0x8570
|
||||
#define GL_COMBINE_RGB 0x8571
|
||||
#define GL_COMBINE_ALPHA 0x8572
|
||||
#define GL_RGB_SCALE 0x8573
|
||||
#define GL_ADD_SIGNED 0x8574
|
||||
#define GL_INTERPOLATE 0x8575
|
||||
#define GL_CONSTANT 0x8576
|
||||
#define GL_PRIMARY_COLOR 0x8577
|
||||
#define GL_PREVIOUS 0x8578
|
||||
#define GL_OPERAND0_RGB 0x8590
|
||||
#define GL_OPERAND1_RGB 0x8591
|
||||
#define GL_OPERAND2_RGB 0x8592
|
||||
#define GL_OPERAND0_ALPHA 0x8598
|
||||
#define GL_OPERAND1_ALPHA 0x8599
|
||||
#define GL_OPERAND2_ALPHA 0x859A
|
||||
#define GL_ALPHA_SCALE 0x0D1C
|
||||
#define GL_SRC0_RGB 0x8580
|
||||
#define GL_SRC1_RGB 0x8581
|
||||
#define GL_SRC2_RGB 0x8582
|
||||
#define GL_SRC0_ALPHA 0x8588
|
||||
#define GL_SRC1_ALPHA 0x8589
|
||||
#define GL_SRC2_ALPHA 0x858A
|
||||
#define GL_DOT3_RGB 0x86AE
|
||||
#define GL_DOT3_RGBA 0x86AF
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCPROC) (GLenum func, GLfloat ref);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFPROC) (GLenum p, const GLfloat *eqn);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4FPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFPROC) (GLenum plane, GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTFVPROC) (GLenum light, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALFVPROC) (GLenum face, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTFPROC) (GLenum light, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTFVPROC) (GLenum light, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXFPROC) (const GLfloat *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALFPROC) (GLenum face, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALFVPROC) (GLenum face, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXFPROC) (const GLfloat *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3FPROC) (GLfloat nx, GLfloat ny, GLfloat nz);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEFPROC) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEFPROC) (GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEFPROC) (GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCXPROC) (GLenum func, GLfixed ref);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORXPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXPROC) (GLfixed depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4UBPROC) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXPROC) (GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLECLIENTSTATEPROC) (GLenum array);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLECLIENTSTATEPROC) (GLenum array);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXVPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXPROC) (GLenum plane, GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
|
||||
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVXVPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHXPROC) (GLfixed width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADIDENTITYPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXXPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATRIXMODEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXXPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMALPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEXPROC) (GLfixed size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units);
|
||||
typedef void (GL_APIENTRYP PFNGLPOPMATRIXPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLPUSHMATRIXPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADEMODELPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXCOORDPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLfloat ref);
|
||||
GL_API void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthf (GLfloat d);
|
||||
GL_API void GL_APIENTRY glClipPlanef (GLenum p, const GLfloat *eqn);
|
||||
GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_API void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glFrustumf (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanef (GLenum plane, GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
|
||||
GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLineWidth (GLfloat width);
|
||||
GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m);
|
||||
GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
||||
GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
|
||||
GL_API void GL_APIENTRY glOrthof (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glPointSize (GLfloat size);
|
||||
GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
||||
GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glActiveTexture (GLenum texture);
|
||||
GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLfixed ref);
|
||||
GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
||||
GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
||||
GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
||||
GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GL_API void GL_APIENTRY glClear (GLbitfield mask);
|
||||
GL_API void GL_APIENTRY glClearColorx (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthx (GLfixed depth);
|
||||
GL_API void GL_APIENTRY glClearStencil (GLint s);
|
||||
GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture);
|
||||
GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
|
||||
GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glCullFace (GLenum mode);
|
||||
GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
|
||||
GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
|
||||
GL_API void GL_APIENTRY glDepthFunc (GLenum func);
|
||||
GL_API void GL_APIENTRY glDepthMask (GLboolean flag);
|
||||
GL_API void GL_APIENTRY glDepthRangex (GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glDisable (GLenum cap);
|
||||
GL_API void GL_APIENTRY glDisableClientState (GLenum array);
|
||||
GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
||||
GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
GL_API void GL_APIENTRY glEnable (GLenum cap);
|
||||
GL_API void GL_APIENTRY glEnableClientState (GLenum array);
|
||||
GL_API void GL_APIENTRY glFinish (void);
|
||||
GL_API void GL_APIENTRY glFlush (void);
|
||||
GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glFrontFace (GLenum mode);
|
||||
GL_API void GL_APIENTRY glFrustumx (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
|
||||
GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetClipPlanex (GLenum plane, GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
|
||||
GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
|
||||
GL_API GLenum GL_APIENTRY glGetError (void);
|
||||
GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
||||
GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
|
||||
GL_API const GLubyte *GL_APIENTRY glGetString (GLenum name);
|
||||
GL_API void GL_APIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvxv (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
||||
GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
||||
GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
||||
GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
||||
GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLineWidthx (GLfixed width);
|
||||
GL_API void GL_APIENTRY glLoadIdentity (void);
|
||||
GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glLogicOp (GLenum opcode);
|
||||
GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glMatrixMode (GLenum mode);
|
||||
GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glOrthox (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointSizex (GLfixed size);
|
||||
GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units);
|
||||
GL_API void GL_APIENTRY glPopMatrix (void);
|
||||
GL_API void GL_APIENTRY glPushMatrix (void);
|
||||
GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glShadeModel (GLenum mode);
|
||||
GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
||||
GL_API void GL_APIENTRY glStencilMask (GLuint mask);
|
||||
GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#endif
|
||||
#endif /* GL_VERSION_ES_CM_1_0 */
|
||||
|
||||
#ifndef GL_OES_compressed_paletted_texture
|
||||
#define GL_OES_compressed_paletted_texture 1
|
||||
#define GL_PALETTE4_RGB8_OES 0x8B90
|
||||
#define GL_PALETTE4_RGBA8_OES 0x8B91
|
||||
#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
|
||||
#define GL_PALETTE4_RGBA4_OES 0x8B93
|
||||
#define GL_PALETTE4_RGB5_A1_OES 0x8B94
|
||||
#define GL_PALETTE8_RGB8_OES 0x8B95
|
||||
#define GL_PALETTE8_RGBA8_OES 0x8B96
|
||||
#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
|
||||
#define GL_PALETTE8_RGBA4_OES 0x8B98
|
||||
#define GL_PALETTE8_RGB5_A1_OES 0x8B99
|
||||
#endif /* GL_OES_compressed_paletted_texture */
|
||||
|
||||
#ifndef GL_OES_point_size_array
|
||||
#define GL_OES_point_size_array 1
|
||||
#define GL_POINT_SIZE_ARRAY_OES 0x8B9C
|
||||
#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A
|
||||
#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B
|
||||
#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C
|
||||
#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const void *pointer);
|
||||
#endif
|
||||
#endif /* GL_OES_point_size_array */
|
||||
|
||||
#ifndef GL_OES_point_sprite
|
||||
#define GL_OES_point_sprite 1
|
||||
#define GL_POINT_SPRITE_OES 0x8861
|
||||
#define GL_COORD_REPLACE_OES 0x8862
|
||||
#endif /* GL_OES_point_sprite */
|
||||
|
||||
#ifndef GL_OES_read_format
|
||||
#define GL_OES_read_format 1
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
|
||||
#endif /* GL_OES_read_format */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+962
@@ -0,0 +1,962 @@
|
||||
#ifndef __glext_h_
|
||||
#define __glext_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
/*
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
/* Generated on date 20171212 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles1
|
||||
* Profile: common
|
||||
* Versions considered: .*
|
||||
* Versions emitted: _nomatch_^
|
||||
* Default extensions included: gles1
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: ^(GL_OES_read_format|GL_OES_compressed_paletted_texture|GL_OES_point_size_array|GL_OES_point_sprite)$
|
||||
*/
|
||||
|
||||
#ifndef GL_OES_EGL_image
|
||||
#define GL_OES_EGL_image 1
|
||||
typedef void *GLeglImageOES;
|
||||
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
|
||||
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
|
||||
GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
|
||||
#endif
|
||||
#endif /* GL_OES_EGL_image */
|
||||
|
||||
#ifndef GL_OES_blend_equation_separate
|
||||
#define GL_OES_blend_equation_separate 1
|
||||
#define GL_BLEND_EQUATION_RGB_OES 0x8009
|
||||
#define GL_BLEND_EQUATION_ALPHA_OES 0x883D
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_equation_separate */
|
||||
|
||||
#ifndef GL_OES_blend_func_separate
|
||||
#define GL_OES_blend_func_separate 1
|
||||
#define GL_BLEND_DST_RGB_OES 0x80C8
|
||||
#define GL_BLEND_SRC_RGB_OES 0x80C9
|
||||
#define GL_BLEND_DST_ALPHA_OES 0x80CA
|
||||
#define GL_BLEND_SRC_ALPHA_OES 0x80CB
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_func_separate */
|
||||
|
||||
#ifndef GL_OES_blend_subtract
|
||||
#define GL_OES_blend_subtract 1
|
||||
#define GL_BLEND_EQUATION_OES 0x8009
|
||||
#define GL_FUNC_ADD_OES 0x8006
|
||||
#define GL_FUNC_SUBTRACT_OES 0x800A
|
||||
#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_subtract */
|
||||
|
||||
#ifndef GL_OES_byte_coordinates
|
||||
#define GL_OES_byte_coordinates 1
|
||||
#endif /* GL_OES_byte_coordinates */
|
||||
|
||||
#ifndef GL_OES_compressed_ETC1_RGB8_sub_texture
|
||||
#define GL_OES_compressed_ETC1_RGB8_sub_texture 1
|
||||
#endif /* GL_OES_compressed_ETC1_RGB8_sub_texture */
|
||||
|
||||
#ifndef GL_OES_compressed_ETC1_RGB8_texture
|
||||
#define GL_OES_compressed_ETC1_RGB8_texture 1
|
||||
#define GL_ETC1_RGB8_OES 0x8D64
|
||||
#endif /* GL_OES_compressed_ETC1_RGB8_texture */
|
||||
|
||||
#ifndef GL_OES_depth24
|
||||
#define GL_OES_depth24 1
|
||||
#define GL_DEPTH_COMPONENT24_OES 0x81A6
|
||||
#endif /* GL_OES_depth24 */
|
||||
|
||||
#ifndef GL_OES_depth32
|
||||
#define GL_OES_depth32 1
|
||||
#define GL_DEPTH_COMPONENT32_OES 0x81A7
|
||||
#endif /* GL_OES_depth32 */
|
||||
|
||||
#ifndef GL_OES_draw_texture
|
||||
#define GL_OES_draw_texture 1
|
||||
#define GL_TEXTURE_CROP_RECT_OES 0x8B9D
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
|
||||
GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
|
||||
GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
|
||||
GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
|
||||
GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
|
||||
#endif
|
||||
#endif /* GL_OES_draw_texture */
|
||||
|
||||
#ifndef GL_OES_element_index_uint
|
||||
#define GL_OES_element_index_uint 1
|
||||
#define GL_UNSIGNED_INT 0x1405
|
||||
#endif /* GL_OES_element_index_uint */
|
||||
|
||||
#ifndef GL_OES_extended_matrix_palette
|
||||
#define GL_OES_extended_matrix_palette 1
|
||||
#endif /* GL_OES_extended_matrix_palette */
|
||||
|
||||
#ifndef GL_OES_fbo_render_mipmap
|
||||
#define GL_OES_fbo_render_mipmap 1
|
||||
#endif /* GL_OES_fbo_render_mipmap */
|
||||
|
||||
#ifndef GL_OES_fixed_point
|
||||
#define GL_OES_fixed_point 1
|
||||
#define GL_FIXED_OES 0x140C
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLfixed depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum plane, GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLfixed ref);
|
||||
GL_API void GL_APIENTRY glClearColorxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthxOES (GLfixed depth);
|
||||
GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glDepthRangexOES (GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glFrustumxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum plane, GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
|
||||
GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
GL_API void GL_APIENTRY glOrthoxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
|
||||
GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
|
||||
GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
|
||||
#endif
|
||||
#endif /* GL_OES_fixed_point */
|
||||
|
||||
#ifndef GL_OES_framebuffer_object
|
||||
#define GL_OES_framebuffer_object 1
|
||||
#define GL_NONE_OES 0
|
||||
#define GL_FRAMEBUFFER_OES 0x8D40
|
||||
#define GL_RENDERBUFFER_OES 0x8D41
|
||||
#define GL_RGBA4_OES 0x8056
|
||||
#define GL_RGB5_A1_OES 0x8057
|
||||
#define GL_RGB565_OES 0x8D62
|
||||
#define GL_DEPTH_COMPONENT16_OES 0x81A5
|
||||
#define GL_RENDERBUFFER_WIDTH_OES 0x8D42
|
||||
#define GL_RENDERBUFFER_HEIGHT_OES 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44
|
||||
#define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3
|
||||
#define GL_COLOR_ATTACHMENT0_OES 0x8CE0
|
||||
#define GL_DEPTH_ATTACHMENT_OES 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT_OES 0x8D20
|
||||
#define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD
|
||||
#define GL_FRAMEBUFFER_BINDING_OES 0x8CA6
|
||||
#define GL_RENDERBUFFER_BINDING_OES 0x8CA7
|
||||
#define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint *renderbuffers);
|
||||
GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint *renderbuffers);
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
|
||||
GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
|
||||
GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint *framebuffers);
|
||||
GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint *framebuffers);
|
||||
GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
|
||||
GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
|
||||
#endif
|
||||
#endif /* GL_OES_framebuffer_object */
|
||||
|
||||
#ifndef GL_OES_mapbuffer
|
||||
#define GL_OES_mapbuffer 1
|
||||
#define GL_WRITE_ONLY_OES 0x88B9
|
||||
#define GL_BUFFER_ACCESS_OES 0x88BB
|
||||
#define GL_BUFFER_MAPPED_OES 0x88BC
|
||||
#define GL_BUFFER_MAP_POINTER_OES 0x88BD
|
||||
typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
|
||||
GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
|
||||
GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
|
||||
#endif
|
||||
#endif /* GL_OES_mapbuffer */
|
||||
|
||||
#ifndef GL_OES_matrix_get
|
||||
#define GL_OES_matrix_get 1
|
||||
#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D
|
||||
#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E
|
||||
#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F
|
||||
#endif /* GL_OES_matrix_get */
|
||||
|
||||
#ifndef GL_OES_matrix_palette
|
||||
#define GL_OES_matrix_palette 1
|
||||
#define GL_MAX_VERTEX_UNITS_OES 0x86A4
|
||||
#define GL_MAX_PALETTE_MATRICES_OES 0x8842
|
||||
#define GL_MATRIX_PALETTE_OES 0x8840
|
||||
#define GL_MATRIX_INDEX_ARRAY_OES 0x8844
|
||||
#define GL_WEIGHT_ARRAY_OES 0x86AD
|
||||
#define GL_CURRENT_PALETTE_MATRIX_OES 0x8843
|
||||
#define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846
|
||||
#define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847
|
||||
#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848
|
||||
#define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849
|
||||
#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E
|
||||
#define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB
|
||||
#define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9
|
||||
#define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA
|
||||
#define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC
|
||||
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E
|
||||
typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
|
||||
GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
|
||||
GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
#endif
|
||||
#endif /* GL_OES_matrix_palette */
|
||||
|
||||
#ifndef GL_OES_packed_depth_stencil
|
||||
#define GL_OES_packed_depth_stencil 1
|
||||
#define GL_DEPTH_STENCIL_OES 0x84F9
|
||||
#define GL_UNSIGNED_INT_24_8_OES 0x84FA
|
||||
#define GL_DEPTH24_STENCIL8_OES 0x88F0
|
||||
#endif /* GL_OES_packed_depth_stencil */
|
||||
|
||||
#ifndef GL_OES_query_matrix
|
||||
#define GL_OES_query_matrix 1
|
||||
typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed *mantissa, GLint *exponent);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed *mantissa, GLint *exponent);
|
||||
#endif
|
||||
#endif /* GL_OES_query_matrix */
|
||||
|
||||
#ifndef GL_OES_required_internalformat
|
||||
#define GL_OES_required_internalformat 1
|
||||
#define GL_ALPHA8_OES 0x803C
|
||||
#define GL_LUMINANCE4_ALPHA4_OES 0x8043
|
||||
#define GL_LUMINANCE8_ALPHA8_OES 0x8045
|
||||
#define GL_LUMINANCE8_OES 0x8040
|
||||
#define GL_RGB8_OES 0x8051
|
||||
#define GL_RGBA8_OES 0x8058
|
||||
#define GL_RGB10_EXT 0x8052
|
||||
#define GL_RGB10_A2_EXT 0x8059
|
||||
#endif /* GL_OES_required_internalformat */
|
||||
|
||||
#ifndef GL_OES_rgb8_rgba8
|
||||
#define GL_OES_rgb8_rgba8 1
|
||||
#endif /* GL_OES_rgb8_rgba8 */
|
||||
|
||||
#ifndef GL_OES_single_precision
|
||||
#define GL_OES_single_precision 1
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
|
||||
GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glDepthRangefOES (GLclampf n, GLclampf f);
|
||||
GL_API void GL_APIENTRY glFrustumfOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum plane, GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glOrthofOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
#endif
|
||||
#endif /* GL_OES_single_precision */
|
||||
|
||||
#ifndef GL_OES_stencil1
|
||||
#define GL_OES_stencil1 1
|
||||
#define GL_STENCIL_INDEX1_OES 0x8D46
|
||||
#endif /* GL_OES_stencil1 */
|
||||
|
||||
#ifndef GL_OES_stencil4
|
||||
#define GL_OES_stencil4 1
|
||||
#define GL_STENCIL_INDEX4_OES 0x8D47
|
||||
#endif /* GL_OES_stencil4 */
|
||||
|
||||
#ifndef GL_OES_stencil8
|
||||
#define GL_OES_stencil8 1
|
||||
#define GL_STENCIL_INDEX8_OES 0x8D48
|
||||
#endif /* GL_OES_stencil8 */
|
||||
|
||||
#ifndef GL_OES_stencil_wrap
|
||||
#define GL_OES_stencil_wrap 1
|
||||
#define GL_INCR_WRAP_OES 0x8507
|
||||
#define GL_DECR_WRAP_OES 0x8508
|
||||
#endif /* GL_OES_stencil_wrap */
|
||||
|
||||
#ifndef GL_OES_surfaceless_context
|
||||
#define GL_OES_surfaceless_context 1
|
||||
#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
|
||||
#endif /* GL_OES_surfaceless_context */
|
||||
|
||||
#ifndef GL_OES_texture_cube_map
|
||||
#define GL_OES_texture_cube_map 1
|
||||
#define GL_NORMAL_MAP_OES 0x8511
|
||||
#define GL_REFLECTION_MAP_OES 0x8512
|
||||
#define GL_TEXTURE_CUBE_MAP_OES 0x8513
|
||||
#define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A
|
||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C
|
||||
#define GL_TEXTURE_GEN_MODE_OES 0x2500
|
||||
#define GL_TEXTURE_GEN_STR_OES 0x8D60
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_OES_texture_cube_map */
|
||||
|
||||
#ifndef GL_OES_texture_env_crossbar
|
||||
#define GL_OES_texture_env_crossbar 1
|
||||
#endif /* GL_OES_texture_env_crossbar */
|
||||
|
||||
#ifndef GL_OES_texture_mirrored_repeat
|
||||
#define GL_OES_texture_mirrored_repeat 1
|
||||
#define GL_MIRRORED_REPEAT_OES 0x8370
|
||||
#endif /* GL_OES_texture_mirrored_repeat */
|
||||
|
||||
#ifndef GL_OES_texture_npot
|
||||
#define GL_OES_texture_npot 1
|
||||
#endif /* GL_OES_texture_npot */
|
||||
|
||||
#ifndef GL_OES_vertex_array_object
|
||||
#define GL_OES_vertex_array_object 1
|
||||
#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
|
||||
typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
|
||||
typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
|
||||
GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
|
||||
GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
|
||||
GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
|
||||
#endif
|
||||
#endif /* GL_OES_vertex_array_object */
|
||||
|
||||
#ifndef GL_AMD_compressed_3DC_texture
|
||||
#define GL_AMD_compressed_3DC_texture 1
|
||||
#define GL_3DC_X_AMD 0x87F9
|
||||
#define GL_3DC_XY_AMD 0x87FA
|
||||
#endif /* GL_AMD_compressed_3DC_texture */
|
||||
|
||||
#ifndef GL_AMD_compressed_ATC_texture
|
||||
#define GL_AMD_compressed_ATC_texture 1
|
||||
#define GL_ATC_RGB_AMD 0x8C92
|
||||
#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
|
||||
#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
|
||||
#endif /* GL_AMD_compressed_ATC_texture */
|
||||
|
||||
#ifndef GL_APPLE_copy_texture_levels
|
||||
#define GL_APPLE_copy_texture_levels 1
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
|
||||
#endif
|
||||
#endif /* GL_APPLE_copy_texture_levels */
|
||||
|
||||
#ifndef GL_APPLE_framebuffer_multisample
|
||||
#define GL_APPLE_framebuffer_multisample 1
|
||||
#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
|
||||
#define GL_MAX_SAMPLES_APPLE 0x8D57
|
||||
#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
|
||||
#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
|
||||
#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
|
||||
#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
|
||||
#endif
|
||||
#endif /* GL_APPLE_framebuffer_multisample */
|
||||
|
||||
#ifndef GL_APPLE_sync
|
||||
#define GL_APPLE_sync 1
|
||||
typedef struct __GLsync *GLsync;
|
||||
typedef khronos_uint64_t GLuint64;
|
||||
typedef khronos_int64_t GLint64;
|
||||
#define GL_SYNC_OBJECT_APPLE 0x8A53
|
||||
#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
|
||||
#define GL_OBJECT_TYPE_APPLE 0x9112
|
||||
#define GL_SYNC_CONDITION_APPLE 0x9113
|
||||
#define GL_SYNC_STATUS_APPLE 0x9114
|
||||
#define GL_SYNC_FLAGS_APPLE 0x9115
|
||||
#define GL_SYNC_FENCE_APPLE 0x9116
|
||||
#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
|
||||
#define GL_UNSIGNALED_APPLE 0x9118
|
||||
#define GL_SIGNALED_APPLE 0x9119
|
||||
#define GL_ALREADY_SIGNALED_APPLE 0x911A
|
||||
#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
|
||||
#define GL_CONDITION_SATISFIED_APPLE 0x911C
|
||||
#define GL_WAIT_FAILED_APPLE 0x911D
|
||||
#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
|
||||
#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
|
||||
typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
|
||||
GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
|
||||
GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
|
||||
GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
|
||||
GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
#endif
|
||||
#endif /* GL_APPLE_sync */
|
||||
|
||||
#ifndef GL_APPLE_texture_2D_limited_npot
|
||||
#define GL_APPLE_texture_2D_limited_npot 1
|
||||
#endif /* GL_APPLE_texture_2D_limited_npot */
|
||||
|
||||
#ifndef GL_APPLE_texture_format_BGRA8888
|
||||
#define GL_APPLE_texture_format_BGRA8888 1
|
||||
#define GL_BGRA_EXT 0x80E1
|
||||
#define GL_BGRA8_EXT 0x93A1
|
||||
#endif /* GL_APPLE_texture_format_BGRA8888 */
|
||||
|
||||
#ifndef GL_APPLE_texture_max_level
|
||||
#define GL_APPLE_texture_max_level 1
|
||||
#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
|
||||
#endif /* GL_APPLE_texture_max_level */
|
||||
|
||||
#ifndef GL_ARM_rgba8
|
||||
#define GL_ARM_rgba8 1
|
||||
#endif /* GL_ARM_rgba8 */
|
||||
|
||||
#ifndef GL_EXT_blend_minmax
|
||||
#define GL_EXT_blend_minmax 1
|
||||
#define GL_MIN_EXT 0x8007
|
||||
#define GL_MAX_EXT 0x8008
|
||||
#endif /* GL_EXT_blend_minmax */
|
||||
|
||||
#ifndef GL_EXT_debug_marker
|
||||
#define GL_EXT_debug_marker 1
|
||||
typedef char GLchar;
|
||||
typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
|
||||
typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
|
||||
typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
|
||||
GL_API void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
|
||||
GL_API void GL_APIENTRY glPopGroupMarkerEXT (void);
|
||||
#endif
|
||||
#endif /* GL_EXT_debug_marker */
|
||||
|
||||
#ifndef GL_EXT_discard_framebuffer
|
||||
#define GL_EXT_discard_framebuffer 1
|
||||
#define GL_COLOR_EXT 0x1800
|
||||
#define GL_DEPTH_EXT 0x1801
|
||||
#define GL_STENCIL_EXT 0x1802
|
||||
typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
|
||||
#endif
|
||||
#endif /* GL_EXT_discard_framebuffer */
|
||||
|
||||
#ifndef GL_EXT_map_buffer_range
|
||||
#define GL_EXT_map_buffer_range 1
|
||||
#define GL_MAP_READ_BIT_EXT 0x0001
|
||||
#define GL_MAP_WRITE_BIT_EXT 0x0002
|
||||
#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
|
||||
#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
|
||||
#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
|
||||
#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
|
||||
typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
|
||||
#endif
|
||||
#endif /* GL_EXT_map_buffer_range */
|
||||
|
||||
#ifndef GL_EXT_multi_draw_arrays
|
||||
#define GL_EXT_multi_draw_arrays 1
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
|
||||
GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
|
||||
#endif
|
||||
#endif /* GL_EXT_multi_draw_arrays */
|
||||
|
||||
#ifndef GL_EXT_multisampled_render_to_texture
|
||||
#define GL_EXT_multisampled_render_to_texture 1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
|
||||
#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
|
||||
#define GL_MAX_SAMPLES_EXT 0x8D57
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#endif
|
||||
#endif /* GL_EXT_multisampled_render_to_texture */
|
||||
|
||||
#ifndef GL_EXT_read_format_bgra
|
||||
#define GL_EXT_read_format_bgra 1
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
|
||||
#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
|
||||
#endif /* GL_EXT_read_format_bgra */
|
||||
|
||||
#ifndef GL_EXT_robustness
|
||||
#define GL_EXT_robustness 1
|
||||
#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
|
||||
#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
|
||||
#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
|
||||
#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
|
||||
#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
|
||||
#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
|
||||
#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
|
||||
GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
|
||||
GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_EXT_robustness */
|
||||
|
||||
#ifndef GL_EXT_sRGB
|
||||
#define GL_EXT_sRGB 1
|
||||
#define GL_SRGB_EXT 0x8C40
|
||||
#define GL_SRGB_ALPHA_EXT 0x8C42
|
||||
#define GL_SRGB8_ALPHA8_EXT 0x8C43
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
|
||||
#endif /* GL_EXT_sRGB */
|
||||
|
||||
#ifndef GL_EXT_texture_compression_dxt1
|
||||
#define GL_EXT_texture_compression_dxt1 1
|
||||
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
|
||||
#endif /* GL_EXT_texture_compression_dxt1 */
|
||||
|
||||
#ifndef GL_EXT_texture_filter_anisotropic
|
||||
#define GL_EXT_texture_filter_anisotropic 1
|
||||
#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
|
||||
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
|
||||
#endif /* GL_EXT_texture_filter_anisotropic */
|
||||
|
||||
#ifndef GL_EXT_texture_format_BGRA8888
|
||||
#define GL_EXT_texture_format_BGRA8888 1
|
||||
#endif /* GL_EXT_texture_format_BGRA8888 */
|
||||
|
||||
#ifndef GL_EXT_texture_lod_bias
|
||||
#define GL_EXT_texture_lod_bias 1
|
||||
#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
|
||||
#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
|
||||
#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
|
||||
#endif /* GL_EXT_texture_lod_bias */
|
||||
|
||||
#ifndef GL_EXT_texture_storage
|
||||
#define GL_EXT_texture_storage 1
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
|
||||
#define GL_ALPHA8_EXT 0x803C
|
||||
#define GL_LUMINANCE8_EXT 0x8040
|
||||
#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
|
||||
#define GL_RGBA32F_EXT 0x8814
|
||||
#define GL_RGB32F_EXT 0x8815
|
||||
#define GL_ALPHA32F_EXT 0x8816
|
||||
#define GL_LUMINANCE32F_EXT 0x8818
|
||||
#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
|
||||
#define GL_RGBA16F_EXT 0x881A
|
||||
#define GL_RGB16F_EXT 0x881B
|
||||
#define GL_ALPHA16F_EXT 0x881C
|
||||
#define GL_LUMINANCE16F_EXT 0x881E
|
||||
#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
|
||||
#define GL_R8_EXT 0x8229
|
||||
#define GL_RG8_EXT 0x822B
|
||||
#define GL_R32F_EXT 0x822E
|
||||
#define GL_RG32F_EXT 0x8230
|
||||
#define GL_R16F_EXT 0x822D
|
||||
#define GL_RG16F_EXT 0x822F
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#endif
|
||||
#endif /* GL_EXT_texture_storage */
|
||||
|
||||
#ifndef GL_IMG_multisampled_render_to_texture
|
||||
#define GL_IMG_multisampled_render_to_texture 1
|
||||
#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
|
||||
#define GL_MAX_SAMPLES_IMG 0x9135
|
||||
#define GL_TEXTURE_SAMPLES_IMG 0x9136
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#endif
|
||||
#endif /* GL_IMG_multisampled_render_to_texture */
|
||||
|
||||
#ifndef GL_IMG_read_format
|
||||
#define GL_IMG_read_format 1
|
||||
#define GL_BGRA_IMG 0x80E1
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
|
||||
#endif /* GL_IMG_read_format */
|
||||
|
||||
#ifndef GL_IMG_texture_compression_pvrtc
|
||||
#define GL_IMG_texture_compression_pvrtc 1
|
||||
#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
|
||||
#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
|
||||
#endif /* GL_IMG_texture_compression_pvrtc */
|
||||
|
||||
#ifndef GL_IMG_texture_env_enhanced_fixed_function
|
||||
#define GL_IMG_texture_env_enhanced_fixed_function 1
|
||||
#define GL_MODULATE_COLOR_IMG 0x8C04
|
||||
#define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05
|
||||
#define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06
|
||||
#define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07
|
||||
#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08
|
||||
#define GL_ADD_BLEND_IMG 0x8C09
|
||||
#define GL_DOT3_RGBA_IMG 0x86AF
|
||||
#endif /* GL_IMG_texture_env_enhanced_fixed_function */
|
||||
|
||||
#ifndef GL_IMG_user_clip_plane
|
||||
#define GL_IMG_user_clip_plane 1
|
||||
#define GL_CLIP_PLANE0_IMG 0x3000
|
||||
#define GL_CLIP_PLANE1_IMG 0x3001
|
||||
#define GL_CLIP_PLANE2_IMG 0x3002
|
||||
#define GL_CLIP_PLANE3_IMG 0x3003
|
||||
#define GL_CLIP_PLANE4_IMG 0x3004
|
||||
#define GL_CLIP_PLANE5_IMG 0x3005
|
||||
#define GL_MAX_CLIP_PLANES_IMG 0x0D32
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glClipPlanefIMG (GLenum p, const GLfloat *eqn);
|
||||
GL_API void GL_APIENTRY glClipPlanexIMG (GLenum p, const GLfixed *eqn);
|
||||
#endif
|
||||
#endif /* GL_IMG_user_clip_plane */
|
||||
|
||||
#ifndef GL_NV_fence
|
||||
#define GL_NV_fence 1
|
||||
#define GL_ALL_COMPLETED_NV 0x84F2
|
||||
#define GL_FENCE_STATUS_NV 0x84F3
|
||||
#define GL_FENCE_CONDITION_NV 0x84F4
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
|
||||
typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
|
||||
GL_API void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
|
||||
GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
|
||||
GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
|
||||
GL_API void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glFinishFenceNV (GLuint fence);
|
||||
GL_API void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
|
||||
#endif
|
||||
#endif /* GL_NV_fence */
|
||||
|
||||
#ifndef GL_QCOM_driver_control
|
||||
#define GL_QCOM_driver_control 1
|
||||
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
|
||||
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
|
||||
GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
|
||||
GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
|
||||
GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
|
||||
#endif
|
||||
#endif /* GL_QCOM_driver_control */
|
||||
|
||||
#ifndef GL_QCOM_extended_get
|
||||
#define GL_QCOM_extended_get 1
|
||||
#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
|
||||
#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
|
||||
#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
|
||||
#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
|
||||
#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
|
||||
#define GL_TEXTURE_TYPE_QCOM 0x8BD7
|
||||
#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
|
||||
#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
|
||||
#define GL_TEXTURE_TARGET_QCOM 0x8BDA
|
||||
#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
|
||||
#define GL_STATE_RESTORE 0x8BDC
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
|
||||
GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
|
||||
GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
|
||||
GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
|
||||
GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
|
||||
GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
|
||||
#endif
|
||||
#endif /* GL_QCOM_extended_get */
|
||||
|
||||
#ifndef GL_QCOM_extended_get2
|
||||
#define GL_QCOM_extended_get2 1
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
|
||||
GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
|
||||
GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
|
||||
GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
|
||||
#endif
|
||||
#endif /* GL_QCOM_extended_get2 */
|
||||
|
||||
#ifndef GL_QCOM_perfmon_global_mode
|
||||
#define GL_QCOM_perfmon_global_mode 1
|
||||
#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
|
||||
#endif /* GL_QCOM_perfmon_global_mode */
|
||||
|
||||
#ifndef GL_QCOM_tiled_rendering
|
||||
#define GL_QCOM_tiled_rendering 1
|
||||
#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
|
||||
#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
|
||||
#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
|
||||
#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
|
||||
#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
|
||||
#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
|
||||
#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
|
||||
#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
|
||||
#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
|
||||
#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
|
||||
#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
|
||||
#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
|
||||
#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
|
||||
#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
|
||||
#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
|
||||
#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
|
||||
#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
|
||||
#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
|
||||
#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
|
||||
#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
|
||||
#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
|
||||
#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
|
||||
#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
|
||||
#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
|
||||
typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
|
||||
typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
|
||||
GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
|
||||
#endif
|
||||
#endif /* GL_QCOM_tiled_rendering */
|
||||
|
||||
#ifndef GL_QCOM_writeonly_rendering
|
||||
#define GL_QCOM_writeonly_rendering 1
|
||||
#define GL_WRITEONLY_RENDERING_QCOM 0x8823
|
||||
#endif /* GL_QCOM_writeonly_rendering */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
#ifndef __glplatform_h_
|
||||
#define __glplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2017 The Khronos Group Inc.
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 1.X gl.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_API
|
||||
#define GL_API KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __glplatform_h_ */
|
||||
+664
@@ -0,0 +1,664 @@
|
||||
#ifndef __gles2_gl2_h_
|
||||
#define __gles2_gl2_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright 2013-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: MIT
|
||||
**
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/GLES2/gl2platform.h>
|
||||
#else
|
||||
#include <GLES2/gl2platform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
#ifndef GL_GLES_PROTOTYPES
|
||||
#define GL_GLES_PROTOTYPES 1
|
||||
#endif
|
||||
|
||||
/* Generated on date 20210107 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles2
|
||||
* Profile: common
|
||||
* Versions considered: 2\.[0-9]
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef GL_ES_VERSION_2_0
|
||||
#define GL_ES_VERSION_2_0 1
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
typedef khronos_int8_t GLbyte;
|
||||
typedef khronos_float_t GLclampf;
|
||||
typedef khronos_int32_t GLfixed;
|
||||
typedef khronos_int16_t GLshort;
|
||||
typedef khronos_uint16_t GLushort;
|
||||
typedef void GLvoid;
|
||||
typedef struct __GLsync *GLsync;
|
||||
typedef khronos_int64_t GLint64;
|
||||
typedef khronos_uint64_t GLuint64;
|
||||
typedef unsigned int GLenum;
|
||||
typedef unsigned int GLuint;
|
||||
typedef char GLchar;
|
||||
typedef khronos_float_t GLfloat;
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
typedef unsigned int GLbitfield;
|
||||
typedef int GLint;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef int GLsizei;
|
||||
typedef khronos_uint8_t GLubyte;
|
||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||
#define GL_FALSE 0
|
||||
#define GL_TRUE 1
|
||||
#define GL_POINTS 0x0000
|
||||
#define GL_LINES 0x0001
|
||||
#define GL_LINE_LOOP 0x0002
|
||||
#define GL_LINE_STRIP 0x0003
|
||||
#define GL_TRIANGLES 0x0004
|
||||
#define GL_TRIANGLE_STRIP 0x0005
|
||||
#define GL_TRIANGLE_FAN 0x0006
|
||||
#define GL_ZERO 0
|
||||
#define GL_ONE 1
|
||||
#define GL_SRC_COLOR 0x0300
|
||||
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
||||
#define GL_SRC_ALPHA 0x0302
|
||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
#define GL_FUNC_ADD 0x8006
|
||||
#define GL_BLEND_EQUATION 0x8009
|
||||
#define GL_BLEND_EQUATION_RGB 0x8009
|
||||
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
||||
#define GL_FUNC_SUBTRACT 0x800A
|
||||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
||||
#define GL_BLEND_DST_RGB 0x80C8
|
||||
#define GL_BLEND_SRC_RGB 0x80C9
|
||||
#define GL_BLEND_DST_ALPHA 0x80CA
|
||||
#define GL_BLEND_SRC_ALPHA 0x80CB
|
||||
#define GL_CONSTANT_COLOR 0x8001
|
||||
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||
#define GL_CONSTANT_ALPHA 0x8003
|
||||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
||||
#define GL_BLEND_COLOR 0x8005
|
||||
#define GL_ARRAY_BUFFER 0x8892
|
||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||
#define GL_STREAM_DRAW 0x88E0
|
||||
#define GL_STATIC_DRAW 0x88E4
|
||||
#define GL_DYNAMIC_DRAW 0x88E8
|
||||
#define GL_BUFFER_SIZE 0x8764
|
||||
#define GL_BUFFER_USAGE 0x8765
|
||||
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
||||
#define GL_FRONT 0x0404
|
||||
#define GL_BACK 0x0405
|
||||
#define GL_FRONT_AND_BACK 0x0408
|
||||
#define GL_TEXTURE_2D 0x0DE1
|
||||
#define GL_CULL_FACE 0x0B44
|
||||
#define GL_BLEND 0x0BE2
|
||||
#define GL_DITHER 0x0BD0
|
||||
#define GL_STENCIL_TEST 0x0B90
|
||||
#define GL_DEPTH_TEST 0x0B71
|
||||
#define GL_SCISSOR_TEST 0x0C11
|
||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
#define GL_INVALID_OPERATION 0x0502
|
||||
#define GL_OUT_OF_MEMORY 0x0505
|
||||
#define GL_CW 0x0900
|
||||
#define GL_CCW 0x0901
|
||||
#define GL_LINE_WIDTH 0x0B21
|
||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||
#define GL_CULL_FACE_MODE 0x0B45
|
||||
#define GL_FRONT_FACE 0x0B46
|
||||
#define GL_DEPTH_RANGE 0x0B70
|
||||
#define GL_DEPTH_WRITEMASK 0x0B72
|
||||
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
||||
#define GL_DEPTH_FUNC 0x0B74
|
||||
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
||||
#define GL_STENCIL_FUNC 0x0B92
|
||||
#define GL_STENCIL_FAIL 0x0B94
|
||||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
||||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
||||
#define GL_STENCIL_REF 0x0B97
|
||||
#define GL_STENCIL_VALUE_MASK 0x0B93
|
||||
#define GL_STENCIL_WRITEMASK 0x0B98
|
||||
#define GL_STENCIL_BACK_FUNC 0x8800
|
||||
#define GL_STENCIL_BACK_FAIL 0x8801
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
|
||||
#define GL_STENCIL_BACK_REF 0x8CA3
|
||||
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
|
||||
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#define GL_SCISSOR_BOX 0x0C10
|
||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||
#define GL_COLOR_WRITEMASK 0x0C23
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_PACK_ALIGNMENT 0x0D05
|
||||
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
||||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
||||
#define GL_SUBPIXEL_BITS 0x0D50
|
||||
#define GL_RED_BITS 0x0D52
|
||||
#define GL_GREEN_BITS 0x0D53
|
||||
#define GL_BLUE_BITS 0x0D54
|
||||
#define GL_ALPHA_BITS 0x0D55
|
||||
#define GL_DEPTH_BITS 0x0D56
|
||||
#define GL_STENCIL_BITS 0x0D57
|
||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||
#define GL_SAMPLES 0x80A9
|
||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||
#define GL_DONT_CARE 0x1100
|
||||
#define GL_FASTEST 0x1101
|
||||
#define GL_NICEST 0x1102
|
||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||
#define GL_BYTE 0x1400
|
||||
#define GL_UNSIGNED_BYTE 0x1401
|
||||
#define GL_SHORT 0x1402
|
||||
#define GL_UNSIGNED_SHORT 0x1403
|
||||
#define GL_INT 0x1404
|
||||
#define GL_UNSIGNED_INT 0x1405
|
||||
#define GL_FLOAT 0x1406
|
||||
#define GL_FIXED 0x140C
|
||||
#define GL_DEPTH_COMPONENT 0x1902
|
||||
#define GL_ALPHA 0x1906
|
||||
#define GL_RGB 0x1907
|
||||
#define GL_RGBA 0x1908
|
||||
#define GL_LUMINANCE 0x1909
|
||||
#define GL_LUMINANCE_ALPHA 0x190A
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||
#define GL_FRAGMENT_SHADER 0x8B30
|
||||
#define GL_VERTEX_SHADER 0x8B31
|
||||
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
||||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
||||
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
||||
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
||||
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
||||
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
||||
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
||||
#define GL_SHADER_TYPE 0x8B4F
|
||||
#define GL_DELETE_STATUS 0x8B80
|
||||
#define GL_LINK_STATUS 0x8B82
|
||||
#define GL_VALIDATE_STATUS 0x8B83
|
||||
#define GL_ATTACHED_SHADERS 0x8B85
|
||||
#define GL_ACTIVE_UNIFORMS 0x8B86
|
||||
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
|
||||
#define GL_ACTIVE_ATTRIBUTES 0x8B89
|
||||
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
|
||||
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
||||
#define GL_CURRENT_PROGRAM 0x8B8D
|
||||
#define GL_NEVER 0x0200
|
||||
#define GL_LESS 0x0201
|
||||
#define GL_EQUAL 0x0202
|
||||
#define GL_LEQUAL 0x0203
|
||||
#define GL_GREATER 0x0204
|
||||
#define GL_NOTEQUAL 0x0205
|
||||
#define GL_GEQUAL 0x0206
|
||||
#define GL_ALWAYS 0x0207
|
||||
#define GL_KEEP 0x1E00
|
||||
#define GL_REPLACE 0x1E01
|
||||
#define GL_INCR 0x1E02
|
||||
#define GL_DECR 0x1E03
|
||||
#define GL_INVERT 0x150A
|
||||
#define GL_INCR_WRAP 0x8507
|
||||
#define GL_DECR_WRAP 0x8508
|
||||
#define GL_VENDOR 0x1F00
|
||||
#define GL_RENDERER 0x1F01
|
||||
#define GL_VERSION 0x1F02
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
#define GL_NEAREST 0x2600
|
||||
#define GL_LINEAR 0x2601
|
||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||
#define GL_TEXTURE_WRAP_S 0x2802
|
||||
#define GL_TEXTURE_WRAP_T 0x2803
|
||||
#define GL_TEXTURE 0x1702
|
||||
#define GL_TEXTURE_CUBE_MAP 0x8513
|
||||
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
||||
#define GL_TEXTURE0 0x84C0
|
||||
#define GL_TEXTURE1 0x84C1
|
||||
#define GL_TEXTURE2 0x84C2
|
||||
#define GL_TEXTURE3 0x84C3
|
||||
#define GL_TEXTURE4 0x84C4
|
||||
#define GL_TEXTURE5 0x84C5
|
||||
#define GL_TEXTURE6 0x84C6
|
||||
#define GL_TEXTURE7 0x84C7
|
||||
#define GL_TEXTURE8 0x84C8
|
||||
#define GL_TEXTURE9 0x84C9
|
||||
#define GL_TEXTURE10 0x84CA
|
||||
#define GL_TEXTURE11 0x84CB
|
||||
#define GL_TEXTURE12 0x84CC
|
||||
#define GL_TEXTURE13 0x84CD
|
||||
#define GL_TEXTURE14 0x84CE
|
||||
#define GL_TEXTURE15 0x84CF
|
||||
#define GL_TEXTURE16 0x84D0
|
||||
#define GL_TEXTURE17 0x84D1
|
||||
#define GL_TEXTURE18 0x84D2
|
||||
#define GL_TEXTURE19 0x84D3
|
||||
#define GL_TEXTURE20 0x84D4
|
||||
#define GL_TEXTURE21 0x84D5
|
||||
#define GL_TEXTURE22 0x84D6
|
||||
#define GL_TEXTURE23 0x84D7
|
||||
#define GL_TEXTURE24 0x84D8
|
||||
#define GL_TEXTURE25 0x84D9
|
||||
#define GL_TEXTURE26 0x84DA
|
||||
#define GL_TEXTURE27 0x84DB
|
||||
#define GL_TEXTURE28 0x84DC
|
||||
#define GL_TEXTURE29 0x84DD
|
||||
#define GL_TEXTURE30 0x84DE
|
||||
#define GL_TEXTURE31 0x84DF
|
||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#define GL_REPEAT 0x2901
|
||||
#define GL_CLAMP_TO_EDGE 0x812F
|
||||
#define GL_MIRRORED_REPEAT 0x8370
|
||||
#define GL_FLOAT_VEC2 0x8B50
|
||||
#define GL_FLOAT_VEC3 0x8B51
|
||||
#define GL_FLOAT_VEC4 0x8B52
|
||||
#define GL_INT_VEC2 0x8B53
|
||||
#define GL_INT_VEC3 0x8B54
|
||||
#define GL_INT_VEC4 0x8B55
|
||||
#define GL_BOOL 0x8B56
|
||||
#define GL_BOOL_VEC2 0x8B57
|
||||
#define GL_BOOL_VEC3 0x8B58
|
||||
#define GL_BOOL_VEC4 0x8B59
|
||||
#define GL_FLOAT_MAT2 0x8B5A
|
||||
#define GL_FLOAT_MAT3 0x8B5B
|
||||
#define GL_FLOAT_MAT4 0x8B5C
|
||||
#define GL_SAMPLER_2D 0x8B5E
|
||||
#define GL_SAMPLER_CUBE 0x8B60
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
||||
#define GL_COMPILE_STATUS 0x8B81
|
||||
#define GL_INFO_LOG_LENGTH 0x8B84
|
||||
#define GL_SHADER_SOURCE_LENGTH 0x8B88
|
||||
#define GL_SHADER_COMPILER 0x8DFA
|
||||
#define GL_SHADER_BINARY_FORMATS 0x8DF8
|
||||
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
|
||||
#define GL_LOW_FLOAT 0x8DF0
|
||||
#define GL_MEDIUM_FLOAT 0x8DF1
|
||||
#define GL_HIGH_FLOAT 0x8DF2
|
||||
#define GL_LOW_INT 0x8DF3
|
||||
#define GL_MEDIUM_INT 0x8DF4
|
||||
#define GL_HIGH_INT 0x8DF5
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
#define GL_RENDERBUFFER 0x8D41
|
||||
#define GL_RGBA4 0x8056
|
||||
#define GL_RGB5_A1 0x8057
|
||||
#define GL_RGB565 0x8D62
|
||||
#define GL_DEPTH_COMPONENT16 0x81A5
|
||||
#define GL_STENCIL_INDEX8 0x8D48
|
||||
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_NONE 0
|
||||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
|
||||
typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
|
||||
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||
typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
|
||||
typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
|
||||
typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
|
||||
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
||||
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
|
||||
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
|
||||
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
||||
GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
|
||||
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
||||
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
|
||||
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
|
||||
GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
|
||||
GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
|
||||
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
|
||||
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
|
||||
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
|
||||
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
|
||||
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
|
||||
GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
|
||||
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
|
||||
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
|
||||
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
||||
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
|
||||
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
|
||||
GL_APICALL void GL_APIENTRY glFinish (void);
|
||||
GL_APICALL void GL_APIENTRY glFlush (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
|
||||
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
|
||||
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
|
||||
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
|
||||
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL GLenum GL_APIENTRY glGetError (void);
|
||||
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||
GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
|
||||
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
|
||||
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
||||
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
|
||||
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
||||
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
||||
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
|
||||
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
|
||||
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
||||
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
|
||||
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
|
||||
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
|
||||
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
|
||||
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
|
||||
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#endif
|
||||
#endif /* GL_ES_VERSION_2_0 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+3953
File diff suppressed because it is too large
Load Diff
+739
@@ -0,0 +1,739 @@
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// gl2ext_angle.h: ANGLE modifications to the gl2ext.h header file.
|
||||
// Currently we don't include this file directly, we patch gl2ext.h
|
||||
// to include it implicitly so it is visible throughout our code.
|
||||
|
||||
#ifndef INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
#define INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
|
||||
// clang-format off
|
||||
|
||||
#ifndef GL_ANGLE_client_arrays
|
||||
#define GL_ANGLE_client_arrays 1
|
||||
#define GL_CLIENT_ARRAYS_ANGLE 0x93AA
|
||||
#endif /* GL_ANGLE_client_arrays */
|
||||
|
||||
#ifndef GL_ANGLE_request_extension
|
||||
#define GL_ANGLE_request_extension 1
|
||||
#define GL_REQUESTABLE_EXTENSIONS_ANGLE 0x93A8
|
||||
#define GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE 0x93A9
|
||||
typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONANGLEPROC) (const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEEXTENSIONANGLEPROC) (const GLchar *name);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glRequestExtensionANGLE (const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glDisableExtensionANGLE (const GLchar *name);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_webgl_compatibility */
|
||||
|
||||
#ifndef GL_ANGLE_robust_resource_initialization
|
||||
#define GL_ANGLE_robust_resource_initialization 1
|
||||
#define GL_ROBUST_RESOURCE_INITIALIZATION_ANGLE 0x93AB
|
||||
#define GL_RESOURCE_INITIALIZED_ANGLE 0x969F
|
||||
#endif /* GL_ANGLE_robust_resource_initialization */
|
||||
|
||||
#ifndef GL_ANGLE_polygon_mode
|
||||
#define GL_ANGLE_polygon_mode 1
|
||||
#define GL_POLYGON_MODE_ANGLE 0x0B40
|
||||
#define GL_POLYGON_OFFSET_LINE_ANGLE 0x2A02
|
||||
#define GL_LINE_ANGLE 0x1B01
|
||||
#define GL_FILL_ANGLE 0x1B02
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONMODEANGLEPROC) (GLenum face, GLenum mode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glPolygonModeANGLE (GLenum face, GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_polygon_mode */
|
||||
|
||||
#ifndef GL_ANGLE_provoking_vertex
|
||||
#define GL_ANGLE_provoking_vertex 1
|
||||
#define GL_FIRST_VERTEX_CONVENTION_ANGLE 0x8E4D
|
||||
#define GL_LAST_VERTEX_CONVENTION_ANGLE 0x8E4E
|
||||
#define GL_PROVOKING_VERTEX_ANGLE 0x8E4F
|
||||
typedef void (GL_APIENTRYP PFNGLPROVOKINGVERTEXANGLEPROC) (GLenum);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glProvokingVertexANGLE(GLenum provokeMode);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_provoking_vertex */
|
||||
|
||||
#ifndef GL_ANGLE_clip_cull_distance
|
||||
#define GL_ANGLE_clip_cull_distance 1
|
||||
#define GL_MAX_CLIP_DISTANCES_ANGLE 0x0D32
|
||||
#define GL_MAX_CULL_DISTANCES_ANGLE 0x82F9
|
||||
#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_ANGLE 0x82FA
|
||||
#define GL_CLIP_DISTANCE0_ANGLE 0x3000
|
||||
#define GL_CLIP_DISTANCE1_ANGLE 0x3001
|
||||
#define GL_CLIP_DISTANCE2_ANGLE 0x3002
|
||||
#define GL_CLIP_DISTANCE3_ANGLE 0x3003
|
||||
#define GL_CLIP_DISTANCE4_ANGLE 0x3004
|
||||
#define GL_CLIP_DISTANCE5_ANGLE 0x3005
|
||||
#define GL_CLIP_DISTANCE6_ANGLE 0x3006
|
||||
#define GL_CLIP_DISTANCE7_ANGLE 0x3007
|
||||
#endif /* GL_ANGLE_clip_cull_distance */
|
||||
|
||||
#ifndef GL_ANGLE_stencil_texturing
|
||||
#define GL_ANGLE_stencil_texturing 1
|
||||
#define GL_DEPTH_STENCIL_TEXTURE_MODE_ANGLE 0x90EA
|
||||
#define GL_STENCIL_INDEX_ANGLE 0x1901
|
||||
#endif /* GL_ANGLE_stencil_texturing */
|
||||
|
||||
#ifndef GL_ANGLE_renderability_validation
|
||||
#define GL_ANGLE_renderability_validation 1
|
||||
#define GL_RENDERABILITY_VALIDATION_ANGLE 0x9EA0
|
||||
#endif /* GL_ANGLE_renderability_validation */
|
||||
|
||||
#ifndef GL_CHROMIUM_framebuffer_mixed_samples
|
||||
#define GL_CHROMIUM_frambuffer_mixed_samples 1
|
||||
#define GL_COVERAGE_MODULATION_CHROMIUM 0x9332
|
||||
typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONCHROMIUMPROC) (GLenum components);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCoverageModulationCHROMIUM(GLenum components);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_framebuffer_mixed_samples */
|
||||
|
||||
#ifndef GL_CHROMIUM_bind_generates_resource
|
||||
#define GL_CHROMIUM_bind_generates_resource 1
|
||||
#define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
|
||||
#endif /* GL_CHROMIUM_bind_generates_resource */
|
||||
|
||||
#ifndef GL_ANGLE_memory_size
|
||||
#define GL_ANGLE_memory_size
|
||||
#define GL_MEMORY_SIZE_ANGLE 0x93AD
|
||||
#endif /* GL_ANGLE_memory_size */
|
||||
|
||||
// needed by NV_path_rendering (and thus CHROMIUM_path_rendering)
|
||||
// but CHROMIUM_path_rendering only needs MatrixLoadfEXT, MatrixLoadIdentityEXT
|
||||
#ifndef GL_EXT_direct_state_access
|
||||
#define GL_EXT_direct_state_access 1
|
||||
typedef void(GL_APIENTRYP PFNGLMATRIXLOADFEXTPROC)(GLenum matrixMode, const GLfloat *m);
|
||||
typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum matrixMode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m);
|
||||
GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT(GLenum matrixMode);
|
||||
#endif
|
||||
#endif /* GL_EXT_direct_state_access */
|
||||
|
||||
#ifndef GL_CHROMIUM_copy_texture
|
||||
#define GL_CHROMIUM_copy_texture 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
GL_APICALL void GL_APIENTRY glCopySubTextureCHROMIUM(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_copy_texture */
|
||||
|
||||
#ifndef GL_CHROMIUM_compressed_copy_texture
|
||||
#define GL_CHROMIUM_compressed_copy_texture 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC)(GLuint sourceId, GLuint destId);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_compressed_copy_texture */
|
||||
|
||||
|
||||
#ifndef GL_ANGLE_copy_texture_3d
|
||||
#define GL_ANGLE_copy_texture_3d 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYTEXTURE3DANGLEPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURE3DANGLEPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint zoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLint z,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLsizei depth,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCopyTexture3DANGLE(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
GL_APICALL void GL_APIENTRY glCopySubTexture3DANGLE(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint zoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLint z,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLsizei depth,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_copy_texture_3d */
|
||||
|
||||
#ifndef GL_CHROMIUM_sync_query
|
||||
#define GL_CHROMIUM_sync_query 1
|
||||
#define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
|
||||
#endif /* GL_CHROMIUM_sync_query */
|
||||
|
||||
#ifndef GL_EXT_texture_compression_s3tc_srgb
|
||||
#define GL_EXT_texture_compression_s3tc_srgb 1
|
||||
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
|
||||
#endif /* GL_EXT_texture_compression_s3tc_srgb */
|
||||
|
||||
#ifndef GL_ANGLE_lossy_etc_decode
|
||||
#define GL_ANGLE_lossy_etc_decode 1
|
||||
#define GL_ETC1_RGB8_LOSSY_DECODE_ANGLE 0x9690
|
||||
#define GL_COMPRESSED_R11_LOSSY_DECODE_EAC_ANGLE 0x9691
|
||||
#define GL_COMPRESSED_SIGNED_R11_LOSSY_DECODE_EAC_ANGLE 0x9692
|
||||
#define GL_COMPRESSED_RG11_LOSSY_DECODE_EAC_ANGLE 0x9693
|
||||
#define GL_COMPRESSED_SIGNED_RG11_LOSSY_DECODE_EAC_ANGLE 0x9694
|
||||
#define GL_COMPRESSED_RGB8_LOSSY_DECODE_ETC2_ANGLE 0x9695
|
||||
#define GL_COMPRESSED_SRGB8_LOSSY_DECODE_ETC2_ANGLE 0x9696
|
||||
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE 0x9697
|
||||
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE 0x9698
|
||||
#define GL_COMPRESSED_RGBA8_LOSSY_DECODE_ETC2_EAC_ANGLE 0x9699
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_LOSSY_DECODE_ETC2_EAC_ANGLE 0x969A
|
||||
#endif /* GL_ANGLE_lossy_etc_decode */
|
||||
|
||||
#ifndef GL_ANGLE_robust_client_memory
|
||||
#define GL_ANGLE_robust_client_memory 1
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVROBUSTANGLEPROC) (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERIVROBUSTANGLEPROC) (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC) (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64VROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC) (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC) (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
typedef void (GL_APIENTRYP PFNGLREADNPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetBooleanvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFloatvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameterivRobustANGLE (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegervRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramivRobustANGLE (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderivRobustANGLE (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribfvRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointervRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
|
||||
GL_APICALL void GL_APIENTRY glReadPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexImage2DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage2DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexImage3DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage3DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage2DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage3DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectuivRobustANGLE (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferPointervRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegeri_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetInternalformativRobustANGLE (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribIivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribIuivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveUniformBlockivRobustANGLE (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetInteger64vRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
GL_APICALL void GL_APIENTRY glGetInteger64i_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameteri64vRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramInterfaceivRobustANGLE (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetBooleani_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetMultisamplefvRobustANGLE (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetPointervRobustANGLERobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
GL_APICALL void GL_APIENTRY glReadnPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjecti64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectui64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_robust_client_memory */
|
||||
|
||||
#ifndef GL_ANGLE_program_cache_control
|
||||
#define GL_ANGLE_program_cache_control 1
|
||||
#define GL_PROGRAM_CACHE_ENABLED_ANGLE 0x93AC
|
||||
#endif /* GL_ANGLE_program_cache_control */
|
||||
|
||||
#ifndef GL_ANGLE_texture_rectangle
|
||||
#define GL_ANGLE_texture_rectangle 1
|
||||
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ANGLE 0x84F8
|
||||
#define GL_TEXTURE_RECTANGLE_ANGLE 0x84F5
|
||||
#define GL_TEXTURE_BINDING_RECTANGLE_ANGLE 0x84F6
|
||||
#define GL_SAMPLER_2D_RECT_ANGLE 0x8B63
|
||||
#endif /* GL_ANGLE_texture_rectangle */
|
||||
|
||||
#ifndef GL_ANGLE_texture_multisample
|
||||
#define GL_ANGLE_texture_multisample 1
|
||||
#define GL_SAMPLE_POSITION_ANGLE 0x8E50
|
||||
#define GL_SAMPLE_MASK_ANGLE 0x8E51
|
||||
#define GL_SAMPLE_MASK_VALUE_ANGLE 0x8E52
|
||||
#define GL_TEXTURE_2D_MULTISAMPLE_ANGLE 0x9100
|
||||
#define GL_MAX_SAMPLE_MASK_WORDS_ANGLE 0x8E59
|
||||
#define GL_MAX_COLOR_TEXTURE_SAMPLES_ANGLE 0x910E
|
||||
#define GL_MAX_DEPTH_TEXTURE_SAMPLES_ANGLE 0x910F
|
||||
#define GL_MAX_INTEGER_SAMPLES_ANGLE 0x9110
|
||||
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ANGLE 0x9104
|
||||
#define GL_TEXTURE_SAMPLES_ANGLE 0x9106
|
||||
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS_ANGLE 0x9107
|
||||
typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVANGLEPROC)(GLenum pname, GLuint index, GLfloat *val);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLEMASKIANGLEPROC)(GLuint maskNumber, GLbitfield mask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexStorage2DMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val);
|
||||
GL_APICALL void GL_APIENTRY glSampleMaskiANGLE(GLuint maskNumber, GLbitfield mask);
|
||||
#endif
|
||||
#endif // !GL_ANGLE_texture_multisample
|
||||
|
||||
#ifndef GL_ANGLE_get_tex_level_parameter
|
||||
#define GL_ANGLE_get_tex_level_parameter 1
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_get_tex_level_parameter */
|
||||
|
||||
#ifndef GL_ANGLE_multi_draw
|
||||
#define GL_ANGLE_multi_draw 1
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_multi_draw */
|
||||
|
||||
#ifndef GL_ANGLE_base_vertex_base_instance
|
||||
#define GL_ANGLE_base_vertex_base_instance 1
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceANGLE (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance);
|
||||
GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedBaseInstanceANGLE (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GL_CHROMIUM_bind_uniform_location
|
||||
#define GL_CHROMIUM_bind_uniform_location 1
|
||||
typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC)(GLuint program, GLint location, const GLchar *name);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_bind_uniform_location */
|
||||
|
||||
/* GL_CHROMIUM_lose_context */
|
||||
#ifndef GL_CHROMIUM_lose_context
|
||||
#define GL_CHROMIUM_lose_context 1
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
|
||||
#endif
|
||||
typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (GLenum current, GLenum other);
|
||||
#endif /* GL_CHROMIUM_lose_context */
|
||||
|
||||
#ifndef GL_ANGLE_texture_external_update
|
||||
#define GL_ANGLE_texture_external_update 1
|
||||
#define GL_TEXTURE_NATIVE_ID_ANGLE 0x3481
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DEXTERNALANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
|
||||
typedef void (GL_APIENTRYP PFNGLINVALIDATETEXTUREANGLEPROC) (GLenum target);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexImage2DExternalANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
|
||||
GL_APICALL void GL_APIENTRY glInvalidateTextureANGLE (GLenum target);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_texture_external_update */
|
||||
|
||||
#ifndef GL_ANGLE_get_image
|
||||
#define GL_ANGLE_get_image
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXIMAGEANGLEPROC) (GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEANGLEPROC) (GLenum target, GLint level, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERIMAGEANGLEPROC) (GLenum target, GLenum format, GLenum type, void *pixels);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetTexImageANGLE (GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glGetCompressedTexImageANGLE (GLenum target, GLint level, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferImageANGLE (GLenum target, GLenum format, GLenum type, void *pixels);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_get_image */
|
||||
|
||||
#ifndef GL_WEBGL_video_texture
|
||||
#define GL_WEBGL_video_texture 1
|
||||
#define GL_TEXTURE_VIDEO_IMAGE_WEBGL 0x9248
|
||||
#define GL_SAMPLER_VIDEO_IMAGE_WEBGL 0x9249
|
||||
#endif /* GL_WEBGL_video_texture */
|
||||
|
||||
#ifndef GL_ANGLE_memory_object_flags
|
||||
#define GL_ANGLE_memory_object_flags 1
|
||||
#define GL_CREATE_SPARSE_BINDING_BIT_ANGLE 0x00000001
|
||||
#define GL_CREATE_SPARSE_RESIDENCY_BIT_ANGLE 0x00000002
|
||||
#define GL_CREATE_SPARSE_ALIASED_BIT_ANGLE 0x00000004
|
||||
#define GL_CREATE_MUTABLE_FORMAT_BIT_ANGLE 0x00000008
|
||||
#define GL_CREATE_CUBE_COMPATIBLE_BIT_ANGLE 0x00000010
|
||||
#define GL_CREATE_ALIAS_BIT_ANGLE 0x00000400
|
||||
#define GL_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_ANGLE 0x00000040
|
||||
#define GL_CREATE_2D_ARRAY_COMPATIBLE_BIT_ANGLE 0x00000020
|
||||
#define GL_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_ANGLE 0x00000080
|
||||
#define GL_CREATE_EXTENDED_USAGE_BIT_ANGLE 0x00000100
|
||||
#define GL_CREATE_PROTECTED_BIT_ANGLE 0x00000800
|
||||
#define GL_CREATE_DISJOINT_BIT_ANGLE 0x00000200
|
||||
#define GL_CREATE_CORNER_SAMPLED_BIT_ANGLE 0x00002000
|
||||
#define GL_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_ANGLE 0x00001000
|
||||
#define GL_CREATE_SUBSAMPLED_BIT_ANGLE 0x00004000
|
||||
#define GL_USAGE_TRANSFER_SRC_BIT_ANGLE 0x00000001
|
||||
#define GL_USAGE_TRANSFER_DST_BIT_ANGLE 0x00000002
|
||||
#define GL_USAGE_SAMPLED_BIT_ANGLE 0x00000004
|
||||
#define GL_USAGE_STORAGE_BIT_ANGLE 0x00000008
|
||||
#define GL_USAGE_COLOR_ATTACHMENT_BIT_ANGLE 0x00000010
|
||||
#define GL_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT_ANGLE 0x00000020
|
||||
#define GL_USAGE_TRANSIENT_ATTACHMENT_BIT_ANGLE 0x00000040
|
||||
#define GL_USAGE_INPUT_ATTACHMENT_BIT_ANGLE 0x00000080
|
||||
#define GL_USAGE_SHADING_RATE_IMAGE_BIT_ANGLE 0x00000100
|
||||
#define GL_USAGE_FRAGMENT_DENSITY_MAP_BIT_ANGLE 0x00000200
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS2DANGLEPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS2DMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS3DANGLEPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS3DMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_memory_object_flags */
|
||||
|
||||
#ifndef GL_ANGLE_memory_object_fuchsia
|
||||
#define GL_ANGLE_memory_object_fuchsia 1
|
||||
#define GL_HANDLE_TYPE_ZIRCON_VMO_ANGLE 0x93AE
|
||||
typedef void(GL_APIENTRYP PFNGLIMPORTMEMORYZIRCONHANDLEANGLEPROC)(GLuint memory,
|
||||
GLuint64 size,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glImportMemoryZirconHandleANGLE(GLuint memory,
|
||||
GLuint64 size,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_memory_object_fuchsia */
|
||||
|
||||
#ifndef GL_ANGLE_semaphore_fuchsia
|
||||
#define GL_ANGLE_semaphore_fuchsia 1
|
||||
#define GL_HANDLE_TYPE_ZIRCON_EVENT_ANGLE 0x93AF
|
||||
typedef void(GL_APIENTRYP PFNGLIMPORTSEMAPHOREZIRCONHANDLEANGLEPROC)(GLuint semaphore,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glImportSemaphoreZirconHandleANGLE(GLuint memory,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_semaphore_fuchsia */
|
||||
|
||||
#ifndef GL_ANGLE_vulkan_image
|
||||
#define GL_ANGLE_vulkan_image 1
|
||||
typedef void(GL_APIENTRYP PFNGLACQUIRETEXTURESANGLEPROC)(GLuint numTexture, const GLuint *textures, const GLenum *layouts);
|
||||
typedef void(GL_APIENTRYP PFNGLRELEASETEXTURESANGLEPROC)(GLuint numTexture, const GLuint *textures, GLenum *layouts);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glAcquireTexturesANGLE(GLuint numTexture, const GLuint *textures, const GLenum *layouts);
|
||||
GL_APICALL void GL_APIENTRY glReleaseTexturesANGLE(GLuint numTexture, const GLuint *textures, GLenum *layouts);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_vulkan_image */
|
||||
|
||||
#ifndef GL_NV_robustness_video_memory
|
||||
#define GL_NV_robustness_video_memory
|
||||
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
|
||||
#endif /* GL_NV_robustness_video_memory */
|
||||
|
||||
#ifndef GL_ANGLE_get_serialized_context_string
|
||||
#define GL_ANGLE_get_serialized_context_string
|
||||
#define GL_SERIALIZED_CONTEXT_STRING_ANGLE 0x96B0
|
||||
#endif /* GL_ANGLE_get_serialized_context_string */
|
||||
|
||||
#ifndef GL_ANGLE_robust_fragment_shader_output
|
||||
#define GL_ANGLE_robust_fragment_shader_output
|
||||
#define GL_ROBUST_FRAGMENT_SHADER_OUTPUT_ANGLE 0x96B9
|
||||
#endif /* GL_ANGLE_robust_fragment_shader_output */
|
||||
|
||||
#ifndef GL_ANGLE_shader_pixel_local_storage
|
||||
#define GL_ANGLE_shader_pixel_local_storage 1
|
||||
#define GL_MAX_PIXEL_LOCAL_STORAGE_PLANES_ANGLE 0x96E0
|
||||
#define GL_MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE 0x96E1
|
||||
#define GL_MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_ANGLE 0x96E2
|
||||
#define GL_PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE 0x96E3
|
||||
#define GL_LOAD_OP_ZERO_ANGLE 0x96E4
|
||||
#define GL_LOAD_OP_CLEAR_ANGLE 0x96E5
|
||||
#define GL_LOAD_OP_LOAD_ANGLE 0x96E6
|
||||
#define GL_STORE_OP_STORE_ANGLE 0x96E7
|
||||
#define GL_PIXEL_LOCAL_FORMAT_ANGLE 0x96E8
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_NAME_ANGLE 0x96E9
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_LEVEL_ANGLE 0x96EA
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_LAYER_ANGLE 0x96EB
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_FLOAT_ANGLE 0x96EC
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_INT_ANGLE 0x96ED
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_UNSIGNED_INT_ANGLE 0x96EE
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERMEMORYLESSPIXELLOCALSTORAGEANGLEPROC) (GLint plane, GLenum internalformat);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREPIXELLOCALSTORAGEANGLEPROC) (GLint plane, GLuint backingtexture, GLint level, GLint layer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEFVANGLEPROC) (GLint plane, const GLfloat value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEIVANGLEPROC) (GLint plane, const GLint value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEUIVANGLEPROC) (GLint plane, const GLuint value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLBEGINPIXELLOCALSTORAGEANGLEPROC) (GLsizei n, const GLenum loadops[]);
|
||||
typedef void (GL_APIENTRYP PFNGLENDPIXELLOCALSTORAGEANGLEPROC) (GLsizei n, const GLenum storeops[]);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELLOCALSTORAGEBARRIERANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGEINTERRUPTANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGERESTOREANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVANGLEPROC) (GLint plane, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVANGLEPROC) (GLint plane, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVROBUSTANGLEPROC) (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVROBUSTANGLEPROC) (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glFramebufferMemorylessPixelLocalStorageANGLE (GLint plane, GLenum internalformat);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferTexturePixelLocalStorageANGLE (GLint plane, GLuint backingtexture, GLint level, GLint layer);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValuefvANGLE (GLint plane, const GLfloat value[]);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueivANGLE (GLint plane, const GLint value[]);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueuivANGLE (GLint plane, const GLuint value[]);
|
||||
GL_APICALL void GL_APIENTRY glBeginPixelLocalStorageANGLE (GLsizei n, const GLenum loadops[]);
|
||||
GL_APICALL void GL_APIENTRY glEndPixelLocalStorageANGLE (GLsizei n, const GLenum storeops[]);
|
||||
GL_APICALL void GL_APIENTRY glPixelLocalStorageBarrierANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageInterruptANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageRestoreANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvANGLE (GLint plane, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivANGLE (GLint plane, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_shader_pixel_local_storage */
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifndef GL_ANGLE_yuv_internal_format
|
||||
#define GL_ANGLE_yuv_internal_format
|
||||
|
||||
// YUV formats introduced by GL_ANGLE_yuv_internal_format
|
||||
// 8-bit YUV formats
|
||||
#define GL_G8_B8R8_2PLANE_420_UNORM_ANGLE 0x96B1
|
||||
#define GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE 0x96B2
|
||||
|
||||
// 10-bit YUV formats
|
||||
#define GL_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B3
|
||||
#define GL_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B4
|
||||
|
||||
// 12-bit YUV formats
|
||||
#define GL_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B5
|
||||
#define GL_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B6
|
||||
|
||||
// 16-bit YUV formats
|
||||
#define GL_G16_B16R16_2PLANE_420_UNORM_ANGLE 0x96B7
|
||||
#define GL_G16_B16_R16_3PLANE_420_UNORM_ANGLE 0x96B8
|
||||
|
||||
#endif /* GL_ANGLE_yuv_internal_format */
|
||||
|
||||
#ifndef GL_ANGLE_rgbx_internal_format
|
||||
#define GL_ANGLE_rgbx_internal_format
|
||||
|
||||
#define GL_RGBX8_ANGLE 0x96BA
|
||||
|
||||
#endif /* GL_ANGLE_rgbx_internal_format */
|
||||
|
||||
#ifndef GL_ANGLE_shader_binary
|
||||
#define GL_ANGLE_shader_binary
|
||||
|
||||
// General shader binary format
|
||||
#define GL_SHADER_BINARY_ANGLE 0x96BB
|
||||
|
||||
#endif /* GL_ANGLE_shader_binary */
|
||||
|
||||
#ifndef GL_ANGLE_logic_op
|
||||
#define GL_ANGLE_logic_op
|
||||
|
||||
// Enums identical to GLES1 and desktop GL
|
||||
#define GL_COLOR_LOGIC_OP_ANGLE 0x0BF2
|
||||
#define GL_LOGIC_OP_CLEAR_ANGLE 0x1500
|
||||
#define GL_LOGIC_OP_AND_ANGLE 0x1501
|
||||
#define GL_LOGIC_OP_AND_REVERSE_ANGLE 0x1502
|
||||
#define GL_LOGIC_OP_COPY_ANGLE 0x1503
|
||||
#define GL_LOGIC_OP_AND_INVERTED_ANGLE 0x1504
|
||||
#define GL_LOGIC_OP_NOOP_ANGLE 0x1505
|
||||
#define GL_LOGIC_OP_XOR_ANGLE 0x1506
|
||||
#define GL_LOGIC_OP_OR_ANGLE 0x1507
|
||||
#define GL_LOGIC_OP_NOR_ANGLE 0x1508
|
||||
#define GL_LOGIC_OP_EQUIV_ANGLE 0x1509
|
||||
#define GL_LOGIC_OP_INVERT_ANGLE 0x150A
|
||||
#define GL_LOGIC_OP_OR_REVERSE_ANGLE 0x150B
|
||||
#define GL_LOGIC_OP_COPY_INVERTED_ANGLE 0x150C
|
||||
#define GL_LOGIC_OP_OR_INVERTED_ANGLE 0x150D
|
||||
#define GL_LOGIC_OP_NAND_ANGLE 0x150E
|
||||
#define GL_LOGIC_OP_SET_ANGLE 0x150F
|
||||
typedef void (GL_APIENTRYP PFNGLLOGICOPANGLEPROC) (GLenum);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glLogicOpANGLE (GLenum);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_logic_op */
|
||||
|
||||
#ifndef GL_ANGLE_program_binary_readiness_query
|
||||
#define GL_ANGLE_program_binary_readiness_query
|
||||
#define GL_PROGRAM_BINARY_READY_ANGLE 0x96BE
|
||||
#endif /* GL_ANGLE_program_binary_readiness_query */
|
||||
|
||||
#endif // INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#ifndef __gl2platform_h_
|
||||
#define __gl2platform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2017-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APICALL
|
||||
#define GL_APICALL KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __gl2platform_h_ */
|
||||
+1200
File diff suppressed because it is too large
Load Diff
+1515
File diff suppressed because it is too large
Load Diff
+1816
File diff suppressed because it is too large
Load Diff
+31
@@ -0,0 +1,31 @@
|
||||
#ifndef __gl3platform_h_
|
||||
#define __gl3platform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2017-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APICALL
|
||||
#define GL_APICALL KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __gl3platform_h_ */
|
||||
+290
@@ -0,0 +1,290 @@
|
||||
#ifndef __khrplatform_h_
|
||||
#define __khrplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
*
|
||||
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||
* The last semantic modification to khrplatform.h was at commit ID:
|
||||
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||
*
|
||||
* Adopters may modify this file to suit their platform. Adopters are
|
||||
* encouraged to submit platform specific modifications to the Khronos
|
||||
* group so that they can be included in future versions of this file.
|
||||
* Please submit changes by filing pull requests or issues on
|
||||
* the EGL Registry repository linked above.
|
||||
*
|
||||
*
|
||||
* See the Implementer's Guidelines for information about where this file
|
||||
* should be located on your system and for more details of its use:
|
||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||
*
|
||||
* This file should be included as
|
||||
* #include <KHR/khrplatform.h>
|
||||
* by Khronos client API header files that use its types and defines.
|
||||
*
|
||||
* The types in khrplatform.h should only be used to define API-specific types.
|
||||
*
|
||||
* Types defined in khrplatform.h:
|
||||
* khronos_int8_t signed 8 bit
|
||||
* khronos_uint8_t unsigned 8 bit
|
||||
* khronos_int16_t signed 16 bit
|
||||
* khronos_uint16_t unsigned 16 bit
|
||||
* khronos_int32_t signed 32 bit
|
||||
* khronos_uint32_t unsigned 32 bit
|
||||
* khronos_int64_t signed 64 bit
|
||||
* khronos_uint64_t unsigned 64 bit
|
||||
* khronos_intptr_t signed same number of bits as a pointer
|
||||
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||
* khronos_ssize_t signed size
|
||||
* khronos_usize_t unsigned size
|
||||
* khronos_float_t signed 32 bit floating point
|
||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||
* nanoseconds
|
||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||
* only be used as a base type when a client API's boolean type is
|
||||
* an enum. Client APIs which use an integer or other type for
|
||||
* booleans cannot use this as the base type for their boolean.
|
||||
*
|
||||
* Tokens defined in khrplatform.h:
|
||||
*
|
||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||
*
|
||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||
*
|
||||
* Calling convention macros defined in this file:
|
||||
* KHRONOS_APICALL
|
||||
* KHRONOS_APIENTRY
|
||||
* KHRONOS_APIATTRIBUTES
|
||||
*
|
||||
* These may be used in function prototypes as:
|
||||
*
|
||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||
* int arg1,
|
||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||
*/
|
||||
|
||||
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||
# define KHRONOS_STATIC 1
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APICALL
|
||||
*-------------------------------------------------------------------------
|
||||
* This precedes the return type of the function in the function prototype.
|
||||
*/
|
||||
#if defined(KHRONOS_STATIC)
|
||||
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||
* header compatible with static linking. */
|
||||
# define KHRONOS_APICALL
|
||||
#elif defined(_WIN32)
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
#elif defined (__SYMBIAN32__)
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
#elif defined(__ANDROID__)
|
||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||
#else
|
||||
# define KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIENTRY
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the return type of the function and precedes the function
|
||||
* name in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||
/* Win32 but not WinCE */
|
||||
# define KHRONOS_APIENTRY __stdcall
|
||||
#else
|
||||
# define KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIATTRIBUTES
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the closing parenthesis of the function prototype arguments.
|
||||
*/
|
||||
#if defined (__ARMCC_2__)
|
||||
#define KHRONOS_APIATTRIBUTES __softfp
|
||||
#else
|
||||
#define KHRONOS_APIATTRIBUTES
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions
|
||||
*-----------------------------------------------------------------------*/
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
|
||||
|
||||
/*
|
||||
* Using <stdint.h>
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__VMS ) || defined(__sgi)
|
||||
|
||||
/*
|
||||
* Using <inttypes.h>
|
||||
*/
|
||||
#include <inttypes.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
|
||||
/*
|
||||
* Win32
|
||||
*/
|
||||
typedef __int32 khronos_int32_t;
|
||||
typedef unsigned __int32 khronos_uint32_t;
|
||||
typedef __int64 khronos_int64_t;
|
||||
typedef unsigned __int64 khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__sun__) || defined(__digital__)
|
||||
|
||||
/*
|
||||
* Sun or Digital
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#if defined(__arch64__) || defined(_LP64)
|
||||
typedef long int khronos_int64_t;
|
||||
typedef unsigned long int khronos_uint64_t;
|
||||
#else
|
||||
typedef long long int khronos_int64_t;
|
||||
typedef unsigned long long int khronos_uint64_t;
|
||||
#endif /* __arch64__ */
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif 0
|
||||
|
||||
/*
|
||||
* Hypothetical platform with no float or int64 support
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#define KHRONOS_SUPPORT_INT64 0
|
||||
#define KHRONOS_SUPPORT_FLOAT 0
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* Generic fallback
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Types that are (so far) the same on all platforms
|
||||
*/
|
||||
typedef signed char khronos_int8_t;
|
||||
typedef unsigned char khronos_uint8_t;
|
||||
typedef signed short int khronos_int16_t;
|
||||
typedef unsigned short int khronos_uint16_t;
|
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||
* to be the only LLP64 architecture in current use.
|
||||
*/
|
||||
#ifdef _WIN64
|
||||
typedef signed long long int khronos_intptr_t;
|
||||
typedef unsigned long long int khronos_uintptr_t;
|
||||
typedef signed long long int khronos_ssize_t;
|
||||
typedef unsigned long long int khronos_usize_t;
|
||||
#else
|
||||
typedef signed long int khronos_intptr_t;
|
||||
typedef unsigned long int khronos_uintptr_t;
|
||||
typedef signed long int khronos_ssize_t;
|
||||
typedef unsigned long int khronos_usize_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT
|
||||
/*
|
||||
* Float type
|
||||
*/
|
||||
typedef float khronos_float_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_INT64
|
||||
/* Time types
|
||||
*
|
||||
* These types can be used to represent a time interval in nanoseconds or
|
||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||
* time the system booted). The Unadjusted System Time is an unsigned
|
||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||
* may be either signed or unsigned.
|
||||
*/
|
||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Dummy value used to pad enum types to 32 bits.
|
||||
*/
|
||||
#ifndef KHRONOS_MAX_ENUM
|
||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Enumerated boolean type
|
||||
*
|
||||
* Values other than zero should be considered to be true. Therefore
|
||||
* comparisons should not be made against KHRONOS_TRUE.
|
||||
*/
|
||||
typedef enum {
|
||||
KHRONOS_FALSE = 0,
|
||||
KHRONOS_TRUE = 1,
|
||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||
} khronos_boolean_enum_t;
|
||||
|
||||
#endif /* __khrplatform_h_ */
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#import <MetalANGLEKit/MGLLayer.h>
|
||||
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef enum MGLRenderingAPI : int
|
||||
{
|
||||
kMGLRenderingAPIOpenGLES1 = 1,
|
||||
kMGLRenderingAPIOpenGLES2 = 2,
|
||||
kMGLRenderingAPIOpenGLES3 = 3,
|
||||
} MGLRenderingAPI;
|
||||
|
||||
@interface MGLSharegroup : NSObject
|
||||
@end
|
||||
|
||||
@interface MGLContext : NSObject
|
||||
|
||||
- (id)initWithAPI:(MGLRenderingAPI)api;
|
||||
|
||||
// NOTE: If you use sharegroup to share resources between contexts, make sure to call glFlush()
|
||||
// when you finish the works of one context on a thread to make the changes visible to other
|
||||
// contexts.
|
||||
- (id)initWithAPI:(MGLRenderingAPI)api sharegroup:(MGLSharegroup *_Nullable)sharegroup;
|
||||
|
||||
@property(nonatomic, readonly) MGLRenderingAPI API;
|
||||
|
||||
@property(readonly) MGLSharegroup *sharegroup;
|
||||
|
||||
@property(nonatomic, readonly) EGLDisplay eglDisplay;
|
||||
|
||||
// Present the content of layer on screen as soon as possible.
|
||||
- (BOOL)present:(MGLLayer *)layer;
|
||||
|
||||
+ (MGLContext *)currentContext;
|
||||
+ (MGLLayer *)currentLayer;
|
||||
|
||||
// Set current context without layer. NOTE: this function is only useful if you want to
|
||||
// create OpenGL resources such as textures/buffers before creating the presentation layer.
|
||||
// Before drawing to a layer, use [MGLContext setCurrentContext: forLayer:] function instead.
|
||||
+ (BOOL)setCurrentContext:(MGLContext *_Nullable)context;
|
||||
|
||||
// Set current context to render to the given layer.
|
||||
+ (BOOL)setCurrentContext:(MGLContext *_Nullable)context forLayer:(MGLLayer *_Nullable)layer;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKitCommon_h
|
||||
#define MGLKitCommon_h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
|
||||
@interface MGLDisplay : NSObject
|
||||
|
||||
@property(nonatomic, readonly) EGLDisplay eglDisplay;
|
||||
|
||||
+ (MGLDisplay *)defaultDisplay;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* MGLKitCommon_h */
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKView_h
|
||||
#define MGLKView_h
|
||||
|
||||
#import <MetalANGLEKit/MGLContext.h>
|
||||
|
||||
@class MGLKView;
|
||||
|
||||
@protocol MGLKViewDelegate <NSObject>
|
||||
|
||||
// Implement this method to draw to the view using current OpenGL
|
||||
// context associated with the view.
|
||||
- (void)mglkView:(MGLKView *)view drawInRect:(CGRect)rect;
|
||||
|
||||
@end
|
||||
|
||||
// NOTE: do not subclass this class, use delegate if needed to override
|
||||
// the drawing method.
|
||||
@interface MGLKView : MGLKNativeView
|
||||
|
||||
@property(nonatomic) MGLContext *context;
|
||||
@property(nonatomic, assign) IBOutlet id<MGLKViewDelegate> delegate;
|
||||
|
||||
// Default value is NO. Setting to YES will keep the framebuffer data after presenting.
|
||||
// Doing so will reduce performance and increase memory usage.
|
||||
@property(nonatomic) BOOL retainedBacking;
|
||||
@property(nonatomic) MGLDrawableColorFormat drawableColorFormat; // Default is RGBA8888
|
||||
@property(nonatomic) MGLDrawableDepthFormat drawableDepthFormat; // Default is DepthNone
|
||||
@property(nonatomic) MGLDrawableStencilFormat drawableStencilFormat; // Default is StencilNone
|
||||
@property(nonatomic)
|
||||
MGLDrawableMultisample drawableMultisample; // Default is MGLDrawableMultisampleNone
|
||||
|
||||
@property(nonatomic, weak, readonly) MGLLayer *glLayer;
|
||||
|
||||
// Return the size of the OpenGL default framebuffer.
|
||||
@property(readonly) CGSize drawableSize;
|
||||
@property(nonatomic, readonly) NSInteger drawableWidth;
|
||||
@property(nonatomic, readonly) NSInteger drawableHeight;
|
||||
|
||||
// OpenGL id of the underlying default framebuffer object.
|
||||
// Might not necessary be zero.
|
||||
@property(readonly) uint32_t defaultOpenGLFrameBufferID;
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
// Enable setNeedsDisplay method.
|
||||
@property(nonatomic) BOOL enableSetNeedsDisplay;
|
||||
@property(readonly, strong) UIImage *snapshot;
|
||||
#endif
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame context:(MGLContext *)context;
|
||||
|
||||
// Redraw the view's contents immediately.
|
||||
- (void)display;
|
||||
|
||||
// Binds the underlying default framebuffer object to OpenGL ES.
|
||||
// Use this after drawing to offscreen FBO.
|
||||
- (void)bindDrawable;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* MLKView_h */
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#import <MetalANGLEKit/MGLKView.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class MGLKViewController;
|
||||
|
||||
@protocol MGLKViewControllerDelegate <NSObject>
|
||||
|
||||
- (void)mglkViewControllerUpdate:(MGLKViewController *)controller;
|
||||
|
||||
@end
|
||||
|
||||
@interface MGLKViewController : MGLKNativeViewController <MGLKViewDelegate>
|
||||
|
||||
@property(nonatomic, assign) IBOutlet id<MGLKViewControllerDelegate> delegate;
|
||||
|
||||
// The default value is 30.
|
||||
// On iOS:
|
||||
// - Setting to 0 or 1 will sync the framerate with display's refresh rate
|
||||
// On macOS:
|
||||
// - Setting to 1 will sync the framerate with display's refresh rate
|
||||
// - Setting to 0 will display the frames as fast as possible.
|
||||
@property(nonatomic) NSInteger preferredFramesPerSecond;
|
||||
|
||||
@property(nonatomic, readonly) NSInteger framesDisplayed;
|
||||
@property(nonatomic, readonly) NSTimeInterval timeSinceLastUpdate;
|
||||
|
||||
@property(nonatomic, getter=isPaused) BOOL paused;
|
||||
@property(nonatomic) BOOL pauseOnWillResignActive;
|
||||
@property(nonatomic) BOOL resumeOnDidBecomeActive;
|
||||
|
||||
@property(weak, nonatomic, readonly) MGLKView *glView;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// Copyright 2020 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKitPlatform_h
|
||||
#define MGLKitPlatform_h
|
||||
|
||||
#include <TargetConditionals.h>
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_MACCATALYST || TARGET_OS_TV
|
||||
# include <UIKit/UIKit.h>
|
||||
|
||||
@compatibility_alias MGLKNativeView UIView;
|
||||
@compatibility_alias MGLKNativeViewController UIViewController;
|
||||
|
||||
# define MGLKApplicationWillResignActiveNotification UIApplicationWillResignActiveNotification
|
||||
# define MGLKApplicationDidBecomeActiveNotification UIApplicationDidBecomeActiveNotification
|
||||
|
||||
#elif TARGET_OS_OSX
|
||||
# include <Cocoa/Cocoa.h>
|
||||
|
||||
@compatibility_alias MGLKNativeView NSView;
|
||||
@compatibility_alias MGLKNativeViewController NSViewController;
|
||||
|
||||
# define MGLKApplicationWillResignActiveNotification NSApplicationWillResignActiveNotification
|
||||
# define MGLKApplicationDidBecomeActiveNotification NSApplicationDidBecomeActiveNotification
|
||||
#else
|
||||
# error "Unsupported platform"
|
||||
#endif
|
||||
|
||||
#endif /* MGLKitPlatform_h */
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// We don't use GLES from Apple framework.
|
||||
// Instead we use GLES provided by MetalANGLE.
|
||||
#define GLES_SILENCE_DEPRECATION
|
||||
#define GL_SILENCE_DEPRECATION
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <QuartzCore/CALayer.h>
|
||||
|
||||
#import <MetalANGLEKit/MGLKitPlatform.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class MGLContext;
|
||||
|
||||
typedef enum MGLDrawableColorFormat : int
|
||||
{
|
||||
MGLDrawableColorFormatRGBA8888 = 32,
|
||||
MGLDrawableColorFormatSRGBA8888 = -32,
|
||||
MGLDrawableColorFormatRGB565 = 16,
|
||||
} MGLDrawableColorFormat;
|
||||
|
||||
typedef enum MGLDrawableStencilFormat : int
|
||||
{
|
||||
MGLDrawableStencilFormatNone = 0,
|
||||
MGLDrawableStencilFormat8 = 8,
|
||||
} MGLDrawableStencilFormat;
|
||||
|
||||
typedef enum MGLDrawableDepthFormat : int
|
||||
{
|
||||
MGLDrawableDepthFormatNone = 0,
|
||||
MGLDrawableDepthFormat16 = 16,
|
||||
MGLDrawableDepthFormat24 = 24,
|
||||
} MGLDrawableDepthFormat;
|
||||
|
||||
typedef enum MGLDrawableMultisample : int
|
||||
{
|
||||
MGLDrawableMultisampleNone = 0,
|
||||
MGLDrawableMultisample4X = 4,
|
||||
} MGLDrawableMultisample;
|
||||
|
||||
@interface MGLLayer : CALayer
|
||||
|
||||
// Return the size of the OpenGL framebuffer.
|
||||
@property(readonly) CGSize drawableSize;
|
||||
// Default OpenGL id of the framebuffer storing content of this layer.
|
||||
// Might not necessary be zero.
|
||||
@property(readonly) uint32_t defaultOpenGLFrameBufferID;
|
||||
|
||||
@property(nonatomic) MGLDrawableColorFormat drawableColorFormat; // Default is RGBA8888
|
||||
@property(nonatomic) MGLDrawableDepthFormat drawableDepthFormat; // Default is DepthNone
|
||||
@property(nonatomic) MGLDrawableStencilFormat drawableStencilFormat; // Default is StencilNone
|
||||
@property(nonatomic)
|
||||
MGLDrawableMultisample drawableMultisample; // Default is MGLDrawableMultisampleNone
|
||||
|
||||
// Default value is NO. Setting to YES will keep the framebuffer data after presenting.
|
||||
// Doing so will reduce performance and increase memory usage.
|
||||
@property(nonatomic) BOOL retainedBacking;
|
||||
|
||||
// Present the content of OpenGL backed framebuffer on screen as soon as possible.
|
||||
- (BOOL)present;
|
||||
|
||||
// Bind default framebuffer. Use this after drawing to offscreen FBO.
|
||||
- (void)bindDefaultFrameBuffer;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// MetalANGLEKit.h
|
||||
// MetalANGLEKit
|
||||
//
|
||||
// Created by berstanio on 13.08.24.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
//! Project version number for MetalANGLEKit.
|
||||
FOUNDATION_EXPORT double MetalANGLEKitVersionNumber;
|
||||
|
||||
//! Project version string for MetalANGLEKit.
|
||||
FOUNDATION_EXPORT const unsigned char MetalANGLEKitVersionString[];
|
||||
|
||||
#ifndef METALANGLEKIT_INCLUDE
|
||||
#define METALANGLEKIT_INCLUDE
|
||||
#endif
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <MetalANGLEKit/PublicHeader.h>
|
||||
#import <MetalANGLEKit/MGLContext.h>
|
||||
#import <MetalANGLEKit/MGLLayer.h>
|
||||
#import <MetalANGLEKit/MGLKView.h>
|
||||
#import <MetalANGLEKit/MGLKViewController.h>
|
||||
#import <MetalANGLEKit/MGLKitPlatform.h>
|
||||
#import <MetalANGLEKit/MGLDisplay.h>
|
||||
#import <MetalANGLEKit/EGL/eglext.h>
|
||||
#import <MetalANGLEKit/GLES/egl.h>
|
||||
#import <MetalANGLEKit/GLES/glext.h>
|
||||
#import <MetalANGLEKit/GLES2/gl2.h>
|
||||
#import <MetalANGLEKit/GLES2/gl2ext.h>
|
||||
#import <MetalANGLEKit/GLES3/gl3.h>
|
||||
#import <MetalANGLEKit/GLES3/gl31.h>
|
||||
#import <MetalANGLEKit/GLES3/gl32.h>
|
||||
#import <MetalANGLEKit/feature_support_util.h>
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// Copyright 2014 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// export.h : Defines ANGLE_EXPORT, a macro for exporting functions from the DLL
|
||||
|
||||
#ifndef LIBGLESV2_EXPORT_H_
|
||||
#define LIBGLESV2_EXPORT_H_
|
||||
|
||||
#if !defined(ANGLE_EXPORT)
|
||||
# if defined(_WIN32)
|
||||
# if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
|
||||
defined(LIBFEATURE_SUPPORT_IMPLEMENTATION) || defined(LIBCL_IMPLEMENTATION)
|
||||
# define ANGLE_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define ANGLE_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
# elif defined(__GNUC__)
|
||||
# if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
|
||||
defined(LIBFEATURE_SUPPORT_IMPLEMENTATION) || defined(LIBCL_IMPLEMENTATION)
|
||||
# define ANGLE_EXPORT __attribute__((visibility("default")))
|
||||
# else
|
||||
# define ANGLE_EXPORT
|
||||
# endif
|
||||
# else
|
||||
# define ANGLE_EXPORT
|
||||
# endif
|
||||
#endif // !defined(ANGLE_EXPORT)
|
||||
|
||||
#if !defined(ANGLE_NO_EXPORT)
|
||||
# if defined(__GNUC__)
|
||||
# define ANGLE_NO_EXPORT __attribute__((visibility("hidden")))
|
||||
# else
|
||||
# define ANGLE_NO_EXPORT
|
||||
# endif
|
||||
#endif // !defined(ANGLE_NO_EXPORT)
|
||||
|
||||
#endif // LIBGLESV2_EXPORT_H_
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
//
|
||||
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// feature_support_util.h: Internal-to-ANGLE header file for feature-support utilities.
|
||||
|
||||
#ifndef FEATURE_SUPPORT_UTIL_H_
|
||||
#define FEATURE_SUPPORT_UTIL_H_
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/export.h>
|
||||
#else
|
||||
#include "export.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**************************************************************************************************
|
||||
*
|
||||
* The following is the "version 2" private API for the Android EGL loader:
|
||||
*
|
||||
**************************************************************************************************/
|
||||
|
||||
// Typedefs for handles:
|
||||
typedef void *RulesHandle;
|
||||
typedef void *SystemInfoHandle;
|
||||
|
||||
// Callers of the ANGLE feature-support-utility API (e.g. the Android EGL loader) will call this
|
||||
// function in order to determine what version of the API it can use (if any).
|
||||
//
|
||||
// The caller supplies the highest version of the API that it knows about. If that version is
|
||||
// supported by the feature-support-utility, true is returned and the version isn't changed. If
|
||||
// the supplied version is higher than supported by the feature-support-utility, true is
|
||||
// returned and the version is changed to the highest supported by the feature-support-utility.
|
||||
// If the supplied version is lower than supported by the feature-support-utility, false is
|
||||
// returned.
|
||||
//
|
||||
// Parameters:
|
||||
//
|
||||
// - versionToUse (IN/OUT) - The application supplies the highest version of the interface that
|
||||
// it knows about. If successful, the output value is either
|
||||
// unchanged or is the highest supported by the interface.
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEGetFeatureSupportUtilAPIVersion(unsigned int *versionToUse);
|
||||
|
||||
ANGLE_EXPORT bool ANGLEIsMetalRendererAvailable();
|
||||
|
||||
// The Android EGL loader will call this function in order to parse a rules file
|
||||
// and create a set of rules, for which a handle is returned.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesString (IN) - Rules-file contents, as a non-zero length, null-terminated char*
|
||||
// string
|
||||
// - rulesHandle (OUT) - Handle to the rules data structure
|
||||
// - rulesVersion (OUT) - Version of the rules data structure (potentially because of schema
|
||||
// changes) that should be passed to ANGLEShouldBeUsedForApplication()
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEAndroidParseRulesString(const char *rulesString,
|
||||
RulesHandle *rulesHandle,
|
||||
int *rulesVersion);
|
||||
|
||||
// The Android EGL loader will call this function in order to obtain a handle to
|
||||
// the SystemInfo struct.
|
||||
//
|
||||
// Parameters:
|
||||
// - systemInfoHandle (OUT) - handle to the SystemInfo structure
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEGetSystemInfo(SystemInfoHandle *systemInfoHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to add the device's manufacturer and
|
||||
// model to the SystemInfo struct associated with the handle returned by ANGLEGetSystemInfo.
|
||||
//
|
||||
// Parameters:
|
||||
// - deviceMfr (IN) - Device manufacturer, from the
|
||||
// "ro.product.manufacturer"com.google.android" property
|
||||
// - deviceModel (IN) - Device model, from the "ro.product.model"com.google.android" property
|
||||
// - systemInfoHandle (IN) - handle to the SystemInfo structure
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEAddDeviceInfoToSystemInfo(const char *deviceMfr,
|
||||
const char *deviceModel,
|
||||
SystemInfoHandle systemInfoHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to determine whether
|
||||
// to use ANGLE instead of a native OpenGL-ES (GLES) driver.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesHandle (IN) - Handle to the rules data structure
|
||||
// - rulesVersion (IN) - Version of the rules data structure (potentially because of schema
|
||||
// changes) that was passed from AndroidParseRulesFile()
|
||||
// - systemInfoHandle (IN) - Handle to the SystemInfo structure
|
||||
// - appName (IN) - Java name of the application (e.g. "com.google.android.apps.maps")
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if Android should use ANGLE for appName, otherwise false (i.e. use the native
|
||||
// GLES driver)
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEShouldBeUsedForApplication(const RulesHandle rulesHandle,
|
||||
int rulesVersion,
|
||||
const SystemInfoHandle systemInfoHandle,
|
||||
const char *appName);
|
||||
|
||||
// The Android EGL loader will call this function in order to free a rules handle.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesHandle (IN) - Handle to the rules data structure
|
||||
//
|
||||
ANGLE_EXPORT void ANGLEFreeRulesHandle(const RulesHandle rulesHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to free a SystemInfo handle.
|
||||
//
|
||||
// Parameters:
|
||||
// - systemInfoHandle (IN) - Handle to the SystemInfo structure
|
||||
//
|
||||
ANGLE_EXPORT void ANGLEFreeSystemInfoHandle(const SystemInfoHandle systemInfoHandle);
|
||||
|
||||
// The following are internal versions supported by the current feature-support-utility API.
|
||||
|
||||
#if 1
|
||||
#define kFeatureVersion_LowestSupported 2
|
||||
#define kFeatureVersion_HighestSupported 2
|
||||
#else
|
||||
constexpr unsigned int kFeatureVersion_LowestSupported = 2;
|
||||
constexpr unsigned int kFeatureVersion_HighestSupported = 2;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // FEATURE_SUPPORT_UTIL_H_
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
||||
framework module MetalANGLEKit {
|
||||
umbrella header "MetalANGLEKit.h"
|
||||
export *
|
||||
|
||||
module * { export * }
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.xcode.dsym.com.libgdx.MetalANGLEKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>dSYM</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
Binary file not shown.
+193
@@ -0,0 +1,193 @@
|
||||
---
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/runner/Library/Developer/Xcode/DerivedData/MetalANGLEKit-foxtkjdvsthczfdoysyxplqybzug/Build/Intermediates.noindex/ArchiveIntermediates/MetalANGLEKit/InstallationBuildProductsLocation/Library/Frameworks/MetalANGLEKit.framework/MetalANGLEKit'
|
||||
relocations:
|
||||
- { offset: 0x33, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionString, symObjAddr: 0x0, symBinAddr: 0xA4E0, symSize: 0x0 }
|
||||
- { offset: 0x67, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionNumber, symObjAddr: 0x38, symBinAddr: 0xA518, symSize: 0x0 }
|
||||
- { offset: 0xD0, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitVSE, symObjAddr: 0x3B98, symBinAddr: 0xA548, symSize: 0x0 }
|
||||
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitFSE, symObjAddr: 0x3C58, symBinAddr: 0xA608, symSize: 0x0 }
|
||||
- { offset: 0x82A, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_113CompileShaderEjPKcPj, symObjAddr: 0x24A0, symBinAddr: 0x64A0, symSize: 0x124 }
|
||||
- { offset: 0x6FA3, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2AA0, symBinAddr: 0x8F1C, symSize: 0x28 }
|
||||
- { offset: 0x731A, size: 0x8, addend: 0x0, symName: __ZNSt3__119__allocate_at_leastB8ne180100INS_9allocatorIjEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m, symObjAddr: 0x2A10, symBinAddr: 0x6A10, symSize: 0x34 }
|
||||
- { offset: 0x73B7, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2A44, symBinAddr: 0x6A44, symSize: 0x28 }
|
||||
- { offset: 0x73CA, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x299C, symBinAddr: 0x699C, symSize: 0x50 }
|
||||
- { offset: 0x8257, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2A44, symBinAddr: 0x6A44, symSize: 0x28 }
|
||||
- { offset: 0x9666, size: 0x8, addend: 0x0, symName: '-[MGLLayer init]', symObjAddr: 0x0, symBinAddr: 0x4000, symSize: 0x6C }
|
||||
- { offset: 0x969E, size: 0x8, addend: 0x0, symName: '-[MGLLayer initWithCoder:]', symObjAddr: 0x6C, symBinAddr: 0x406C, symSize: 0x98 }
|
||||
- { offset: 0x96E6, size: 0x8, addend: 0x0, symName: '-[MGLLayer constructor]', symObjAddr: 0x104, symBinAddr: 0x4104, symSize: 0xF4 }
|
||||
- { offset: 0x9733, size: 0x8, addend: 0x0, symName: '-[MGLLayer dealloc]', symObjAddr: 0x1F8, symBinAddr: 0x41F8, symSize: 0x84 }
|
||||
- { offset: 0x9767, size: 0x8, addend: 0x0, symName: '-[MGLLayer setContentsScale:]', symObjAddr: 0x28C, symBinAddr: 0x428C, symSize: 0x78 }
|
||||
- { offset: 0x97B8, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableSize]', symObjAddr: 0x304, symBinAddr: 0x4304, symSize: 0xA4 }
|
||||
- { offset: 0x97FD, size: 0x8, addend: 0x0, symName: '-[MGLLayer setCurrentContext:]', symObjAddr: 0x3A8, symBinAddr: 0x43A8, symSize: 0x15C }
|
||||
- { offset: 0x9979, size: 0x8, addend: 0x0, symName: '-[MGLLayer bindDefaultFrameBuffer]', symObjAddr: 0x504, symBinAddr: 0x4504, symSize: 0x14 }
|
||||
- { offset: 0x99C4, size: 0x8, addend: 0x0, symName: '-[MGLLayer present]', symObjAddr: 0x518, symBinAddr: 0x4518, symSize: 0xF8 }
|
||||
- { offset: 0x9E0C, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:]', symObjAddr: 0x610, symBinAddr: 0x4610, symSize: 0x430 }
|
||||
- { offset: 0xA775, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferC1EjPFviPKjE, symObjAddr: 0xB18, symBinAddr: 0x4B18, symSize: 0xD4 }
|
||||
- { offset: 0xAA26, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3089EED1Ev, symObjAddr: 0xBEC, symBinAddr: 0x4BEC, symSize: 0x40 }
|
||||
- { offset: 0xAA91, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferD1Ev, symObjAddr: 0xC2C, symBinAddr: 0x4C2C, symSize: 0x78 }
|
||||
- { offset: 0xAC7D, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedReadBufferD1Ev, symObjAddr: 0xCA4, symBinAddr: 0x4CA4, symSize: 0x34 }
|
||||
- { offset: 0xACCB, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z20glDeleteFramebuffersEEED1Ev, symObjAddr: 0xA70, symBinAddr: 0x4A70, symSize: 0x3C }
|
||||
- { offset: 0xAD25, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z16glDeleteTexturesEEED1Ev, symObjAddr: 0xADC, symBinAddr: 0x4ADC, symSize: 0x3C }
|
||||
- { offset: 0xAD7F, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2AA0, symBinAddr: 0x8F1C, symSize: 0x28 }
|
||||
- { offset: 0xAD97, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36008ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xCD8, symBinAddr: 0x4CD8, symSize: 0x30 }
|
||||
- { offset: 0xADE5, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36009ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xD08, symBinAddr: 0x4D08, symSize: 0x30 }
|
||||
- { offset: 0xAE33, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36160ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xA40, symBinAddr: 0x4A40, symSize: 0x30 }
|
||||
- { offset: 0xAE81, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj3553ELj32873EXadL_Z13glBindTextureEEED1Ev, symObjAddr: 0xAAC, symBinAddr: 0x4AAC, symSize: 0x30 }
|
||||
- { offset: 0xB0C6, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE6resizeEmRKj, symObjAddr: 0x2848, symBinAddr: 0x6848, symSize: 0x30 }
|
||||
- { offset: 0xB11E, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE6resizeEmRKj, symObjAddr: 0x2848, symBinAddr: 0x6848, symSize: 0x30 }
|
||||
- { offset: 0xB5B3, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:]', symObjAddr: 0xD38, symBinAddr: 0x4D38, symSize: 0x3B4 }
|
||||
- { offset: 0xC00F, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedViewportD1Ev, symObjAddr: 0x10EC, symBinAddr: 0x50EC, symSize: 0x34 }
|
||||
- { offset: 0xC05D, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3042EED1Ev, symObjAddr: 0x1120, symBinAddr: 0x5120, symSize: 0x40 }
|
||||
- { offset: 0xC0C8, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2960EED1Ev, symObjAddr: 0x1160, symBinAddr: 0x5160, symSize: 0x40 }
|
||||
- { offset: 0xC133, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2929EED1Ev, symObjAddr: 0x11A0, symBinAddr: 0x51A0, symSize: 0x40 }
|
||||
- { offset: 0xC19E, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2884EED1Ev, symObjAddr: 0x11E0, symBinAddr: 0x51E0, symSize: 0x40 }
|
||||
- { offset: 0xC209, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:].cold.1', symObjAddr: 0x2AC8, symBinAddr: 0x8F44, symSize: 0x28 }
|
||||
- { offset: 0xC2A3, size: 0x8, addend: 0x0, symName: '-[MGLLayer eglSurface]', symObjAddr: 0x1220, symBinAddr: 0x5220, symSize: 0x2C }
|
||||
- { offset: 0xC2DB, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableColorFormat:]', symObjAddr: 0x124C, symBinAddr: 0x524C, symSize: 0x10 }
|
||||
- { offset: 0xC31C, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableDepthFormat:]', symObjAddr: 0x125C, symBinAddr: 0x525C, symSize: 0x10 }
|
||||
- { offset: 0xC35D, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableStencilFormat:]', symObjAddr: 0x126C, symBinAddr: 0x526C, symSize: 0x10 }
|
||||
- { offset: 0xC39E, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableMultisample:]', symObjAddr: 0x127C, symBinAddr: 0x527C, symSize: 0x50 }
|
||||
- { offset: 0xC3EF, size: 0x8, addend: 0x0, symName: '-[MGLLayer setRetainedBacking:]', symObjAddr: 0x12CC, symBinAddr: 0x52CC, symSize: 0x54 }
|
||||
- { offset: 0xC43C, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseSurface]', symObjAddr: 0x1320, symBinAddr: 0x5320, symSize: 0x98 }
|
||||
- { offset: 0xC4DB, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseOffscreenRenderingResources]', symObjAddr: 0x13B8, symBinAddr: 0x53B8, symSize: 0x1A8 }
|
||||
- { offset: 0xC631, size: 0x8, addend: 0x0, symName: '-[MGLLayer checkLayerSize]', symObjAddr: 0x1560, symBinAddr: 0x5560, symSize: 0xE0 }
|
||||
- { offset: 0xCB6A, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureSurfaceCreated]', symObjAddr: 0x1640, symBinAddr: 0x5640, symSize: 0x2D0 }
|
||||
- { offset: 0xD5F9, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated]', symObjAddr: 0x1910, symBinAddr: 0x5910, symSize: 0x1EC }
|
||||
- { offset: 0xD882, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z21glDeleteRenderbuffersEEED1Ev, symObjAddr: 0x1AFC, symBinAddr: 0x5AFC, symSize: 0x3C }
|
||||
- { offset: 0xD8DC, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated].cold.1', symObjAddr: 0x2AF0, symBinAddr: 0x8F6C, symSize: 0x28 }
|
||||
- { offset: 0xD93A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderingResources]', symObjAddr: 0x1B38, symBinAddr: 0x5B38, symSize: 0xF4 }
|
||||
- { offset: 0xDAB4, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenFBO]', symObjAddr: 0x1C2C, symBinAddr: 0x5C2C, symSize: 0x160 }
|
||||
- { offset: 0xDCD9, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenDepthStencilbuffer]', symObjAddr: 0x1D8C, symBinAddr: 0x5D8C, symSize: 0x178 }
|
||||
- { offset: 0xDF02, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36161ELj36007EXadL_Z18glBindRenderbufferEEED1Ev, symObjAddr: 0x1F04, symBinAddr: 0x5F04, symSize: 0x30 }
|
||||
- { offset: 0xDF3A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer]', symObjAddr: 0x1F34, symBinAddr: 0x5F34, symSize: 0x170 }
|
||||
- { offset: 0xE0E5, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer].cold.1', symObjAddr: 0x2B18, symBinAddr: 0x8F94, symSize: 0x28 }
|
||||
- { offset: 0xE0FD, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture]', symObjAddr: 0x20A4, symBinAddr: 0x60A4, symSize: 0x1D8 }
|
||||
- { offset: 0xE3FA, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture].cold.1', symObjAddr: 0x2B40, symBinAddr: 0x8FBC, symSize: 0x28 }
|
||||
- { offset: 0xE412, size: 0x8, addend: 0x0, symName: '-[MGLLayer verifyOffscreenFBOSize]', symObjAddr: 0x227C, symBinAddr: 0x627C, symSize: 0x84 }
|
||||
- { offset: 0xE44A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram]', symObjAddr: 0x2300, symBinAddr: 0x6300, symSize: 0x1A0 }
|
||||
- { offset: 0xE84E, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram].cold.1', symObjAddr: 0x2B68, symBinAddr: 0x8FE4, symSize: 0x28 }
|
||||
- { offset: 0xE975, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitVBO]', symObjAddr: 0x25C4, symBinAddr: 0x65C4, symSize: 0x18C }
|
||||
- { offset: 0xECF1, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj34962ELj34964EXadL_Z12glBindBufferEEED1Ev, symObjAddr: 0x2750, symBinAddr: 0x6750, symSize: 0x30 }
|
||||
- { offset: 0xED29, size: 0x8, addend: 0x0, symName: '-[MGLLayer defaultOpenGLFrameBufferID]', symObjAddr: 0x2780, symBinAddr: 0x6780, symSize: 0x10 }
|
||||
- { offset: 0xED60, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableColorFormat]', symObjAddr: 0x2790, symBinAddr: 0x6790, symSize: 0x10 }
|
||||
- { offset: 0xED97, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableDepthFormat]', symObjAddr: 0x27A0, symBinAddr: 0x67A0, symSize: 0x10 }
|
||||
- { offset: 0xEDCE, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableStencilFormat]', symObjAddr: 0x27B0, symBinAddr: 0x67B0, symSize: 0x10 }
|
||||
- { offset: 0xEE05, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableMultisample]', symObjAddr: 0x27C0, symBinAddr: 0x67C0, symSize: 0x10 }
|
||||
- { offset: 0xEE3C, size: 0x8, addend: 0x0, symName: '-[MGLLayer retainedBacking]', symObjAddr: 0x27D0, symBinAddr: 0x67D0, symSize: 0x10 }
|
||||
- { offset: 0xEE73, size: 0x8, addend: 0x0, symName: '-[MGLLayer .cxx_destruct]', symObjAddr: 0x27E0, symBinAddr: 0x67E0, symSize: 0x68 }
|
||||
- { offset: 0xEED5, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE8__appendEmRKj, symObjAddr: 0x2878, symBinAddr: 0x6878, symSize: 0x110 }
|
||||
- { offset: 0xF3A8, size: 0x8, addend: 0x0, symName: __ZNKSt3__16vectorIjNS_9allocatorIjEEE20__throw_length_errorB8ne180100Ev, symObjAddr: 0x2988, symBinAddr: 0x6988, symSize: 0x14 }
|
||||
- { offset: 0xF6FF, size: 0x8, addend: 0x0, symName: __ZNKSt3__16vectorIjNS_9allocatorIjEEE20__throw_length_errorB8ne180100Ev, symObjAddr: 0x2988, symBinAddr: 0x6988, symSize: 0x14 }
|
||||
- { offset: 0xF728, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x299C, symBinAddr: 0x699C, symSize: 0x50 }
|
||||
- { offset: 0xF733, size: 0x8, addend: 0x0, symName: __ZNSt12length_errorC1B8ne180100EPKc, symObjAddr: 0x29EC, symBinAddr: 0x69EC, symSize: 0x24 }
|
||||
- { offset: 0x11C01, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x6A6C, symSize: 0xAC }
|
||||
- { offset: 0x134EB, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x6A6C, symSize: 0xAC }
|
||||
- { offset: 0x13531, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:]', symObjAddr: 0xAC, symBinAddr: 0x6B18, symSize: 0x80 }
|
||||
- { offset: 0x13573, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:context:]', symObjAddr: 0x12C, symBinAddr: 0x6B98, symSize: 0xAC }
|
||||
- { offset: 0x135C4, size: 0x8, addend: 0x0, symName: '-[MGLKView dealloc]', symObjAddr: 0x1D8, symBinAddr: 0x6C44, symSize: 0x54 }
|
||||
- { offset: 0x135F7, size: 0x8, addend: 0x0, symName: '+[MGLKView layerClass]', symObjAddr: 0x22C, symBinAddr: 0x6C98, symSize: 0xC }
|
||||
- { offset: 0x1362A, size: 0x8, addend: 0x0, symName: '-[MGLKView glLayer]', symObjAddr: 0x238, symBinAddr: 0x6CA4, symSize: 0x4 }
|
||||
- { offset: 0x1367A, size: 0x8, addend: 0x0, symName: '-[MGLKView setContext:]', symObjAddr: 0x23C, symBinAddr: 0x6CA8, symSize: 0x8C }
|
||||
- { offset: 0x136DA, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplay]', symObjAddr: 0x2C8, symBinAddr: 0x6D34, symSize: 0x44 }
|
||||
- { offset: 0x1370D, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplayInRect:]', symObjAddr: 0x30C, symBinAddr: 0x6D78, symSize: 0x44 }
|
||||
- { offset: 0x1374B, size: 0x8, addend: 0x0, symName: '-[MGLKView setRetainedBacking:]', symObjAddr: 0x350, symBinAddr: 0x6DBC, symSize: 0x58 }
|
||||
- { offset: 0x13789, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableColorFormat:]', symObjAddr: 0x3A8, symBinAddr: 0x6E14, symSize: 0x58 }
|
||||
- { offset: 0x137CB, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableDepthFormat:]', symObjAddr: 0x400, symBinAddr: 0x6E6C, symSize: 0x58 }
|
||||
- { offset: 0x1380D, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableStencilFormat:]', symObjAddr: 0x458, symBinAddr: 0x6EC4, symSize: 0x58 }
|
||||
- { offset: 0x1384F, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableMultisample:]', symObjAddr: 0x4B0, symBinAddr: 0x6F1C, symSize: 0x58 }
|
||||
- { offset: 0x13891, size: 0x8, addend: 0x0, symName: '-[MGLKView display]', symObjAddr: 0x508, symBinAddr: 0x6F74, symSize: 0x8 }
|
||||
- { offset: 0x138C2, size: 0x8, addend: 0x0, symName: '-[MGLKView bindDrawable]', symObjAddr: 0x510, symBinAddr: 0x6F7C, symSize: 0x44 }
|
||||
- { offset: 0x138F5, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableSize]', symObjAddr: 0x554, symBinAddr: 0x6FC0, symSize: 0x8C }
|
||||
- { offset: 0x1392C, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableWidth]', symObjAddr: 0x5E0, symBinAddr: 0x704C, symSize: 0x18 }
|
||||
- { offset: 0x13963, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableHeight]', symObjAddr: 0x5F8, symBinAddr: 0x7064, symSize: 0x18 }
|
||||
- { offset: 0x1399A, size: 0x8, addend: 0x0, symName: '-[MGLKView defaultOpenGLFrameBufferID]', symObjAddr: 0x610, symBinAddr: 0x707C, symSize: 0x50 }
|
||||
- { offset: 0x139D1, size: 0x8, addend: 0x0, symName: '-[MGLKView didMoveToWindow]', symObjAddr: 0x660, symBinAddr: 0x70CC, symSize: 0x8C }
|
||||
- { offset: 0x13A04, size: 0x8, addend: 0x0, symName: '-[MGLKView drawRect:]', symObjAddr: 0x6EC, symBinAddr: 0x7158, symSize: 0x1C }
|
||||
- { offset: 0x13A42, size: 0x8, addend: 0x0, symName: '-[MGLKView displayAndCapture:]', symObjAddr: 0x708, symBinAddr: 0x7174, symSize: 0x1E4 }
|
||||
- { offset: 0x13C06, size: 0x8, addend: 0x0, symName: '-[MGLKView snapshot]', symObjAddr: 0x8EC, symBinAddr: 0x7358, symSize: 0x190 }
|
||||
- { offset: 0x13ED2, size: 0x8, addend: 0x0, symName: __ZL13freeImageDataPvPKvm, symObjAddr: 0xA7C, symBinAddr: 0x74E8, symSize: 0xC }
|
||||
- { offset: 0x13F11, size: 0x8, addend: 0x0, symName: '-[MGLKView context]', symObjAddr: 0xA88, symBinAddr: 0x74F4, symSize: 0x10 }
|
||||
- { offset: 0x13F48, size: 0x8, addend: 0x0, symName: '-[MGLKView delegate]', symObjAddr: 0xA98, symBinAddr: 0x7504, symSize: 0x10 }
|
||||
- { offset: 0x13F7F, size: 0x8, addend: 0x0, symName: '-[MGLKView setDelegate:]', symObjAddr: 0xAA8, symBinAddr: 0x7514, symSize: 0x10 }
|
||||
- { offset: 0x13FBC, size: 0x8, addend: 0x0, symName: '-[MGLKView retainedBacking]', symObjAddr: 0xAB8, symBinAddr: 0x7524, symSize: 0x10 }
|
||||
- { offset: 0x13FF3, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableColorFormat]', symObjAddr: 0xAC8, symBinAddr: 0x7534, symSize: 0x10 }
|
||||
- { offset: 0x1402A, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableDepthFormat]', symObjAddr: 0xAD8, symBinAddr: 0x7544, symSize: 0x10 }
|
||||
- { offset: 0x14061, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableStencilFormat]', symObjAddr: 0xAE8, symBinAddr: 0x7554, symSize: 0x10 }
|
||||
- { offset: 0x14098, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableMultisample]', symObjAddr: 0xAF8, symBinAddr: 0x7564, symSize: 0x10 }
|
||||
- { offset: 0x140CF, size: 0x8, addend: 0x0, symName: '-[MGLKView enableSetNeedsDisplay]', symObjAddr: 0xB08, symBinAddr: 0x7574, symSize: 0x10 }
|
||||
- { offset: 0x14106, size: 0x8, addend: 0x0, symName: '-[MGLKView setEnableSetNeedsDisplay:]', symObjAddr: 0xB18, symBinAddr: 0x7584, symSize: 0x10 }
|
||||
- { offset: 0x14141, size: 0x8, addend: 0x0, symName: '-[MGLKView drawing]', symObjAddr: 0xB28, symBinAddr: 0x7594, symSize: 0x14 }
|
||||
- { offset: 0x14178, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawing:]', symObjAddr: 0xB3C, symBinAddr: 0x75A8, symSize: 0x10 }
|
||||
- { offset: 0x141B5, size: 0x8, addend: 0x0, symName: '-[MGLKView controller]', symObjAddr: 0xB4C, symBinAddr: 0x75B8, symSize: 0x20 }
|
||||
- { offset: 0x141EC, size: 0x8, addend: 0x0, symName: '-[MGLKView setController:]', symObjAddr: 0xB6C, symBinAddr: 0x75D8, symSize: 0x14 }
|
||||
- { offset: 0x1422D, size: 0x8, addend: 0x0, symName: '-[MGLKView .cxx_destruct]', symObjAddr: 0xB80, symBinAddr: 0x75EC, symSize: 0x3C }
|
||||
- { offset: 0x1444B, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116CreateEGLContextEPv15MGLRenderingAPIS0_, symObjAddr: 0x264, symBinAddr: 0x787C, symSize: 0xBC }
|
||||
- { offset: 0x1495C, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup init]', symObjAddr: 0x0, symBinAddr: 0x7628, symSize: 0x3C }
|
||||
- { offset: 0x14993, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup dealloc]', symObjAddr: 0x3C, symBinAddr: 0x7664, symSize: 0x80 }
|
||||
- { offset: 0x149F5, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup sharedEGLContext]', symObjAddr: 0xCC, symBinAddr: 0x76E4, symSize: 0x3C }
|
||||
- { offset: 0x14A2C, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup addContext:]', symObjAddr: 0x108, symBinAddr: 0x7720, symSize: 0x15C }
|
||||
- { offset: 0x14AD1, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup .cxx_destruct]', symObjAddr: 0x320, symBinAddr: 0x7938, symSize: 0x8 }
|
||||
- { offset: 0x14B04, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:]', symObjAddr: 0x328, symBinAddr: 0x7940, symSize: 0x8 }
|
||||
- { offset: 0x14B47, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:sharegroup:]', symObjAddr: 0x330, symBinAddr: 0x7948, symSize: 0xF4 }
|
||||
- { offset: 0x14B9C, size: 0x8, addend: 0x0, symName: '-[MGLContext API]', symObjAddr: 0x424, symBinAddr: 0x7A3C, symSize: 0x8 }
|
||||
- { offset: 0x14BD3, size: 0x8, addend: 0x0, symName: '-[MGLContext eglDisplay]', symObjAddr: 0x42C, symBinAddr: 0x7A44, symSize: 0x8 }
|
||||
- { offset: 0x14C0A, size: 0x8, addend: 0x0, symName: '-[MGLContext dealloc]', symObjAddr: 0x434, symBinAddr: 0x7A4C, symSize: 0x7C }
|
||||
- { offset: 0x14C3D, size: 0x8, addend: 0x0, symName: '-[MGLContext releaseContext]', symObjAddr: 0x4B0, symBinAddr: 0x7AC8, symSize: 0x68 }
|
||||
- { offset: 0x14CD5, size: 0x8, addend: 0x0, symName: '-[MGLContext initContext]', symObjAddr: 0x518, symBinAddr: 0x7B30, symSize: 0x50 }
|
||||
- { offset: 0x14D22, size: 0x8, addend: 0x0, symName: '-[MGLContext present:]', symObjAddr: 0x568, symBinAddr: 0x7B80, symSize: 0x8 }
|
||||
- { offset: 0x14D6A, size: 0x8, addend: 0x0, symName: '+[MGLContext currentContext]', symObjAddr: 0x570, symBinAddr: 0x7B88, symSize: 0x8C }
|
||||
- { offset: 0x14DDA, size: 0x8, addend: 0x0, symName: '+[MGLContext currentLayer]', symObjAddr: 0x5FC, symBinAddr: 0x7C14, symSize: 0x90 }
|
||||
- { offset: 0x14E4A, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:]', symObjAddr: 0x68C, symBinAddr: 0x7CA4, symSize: 0x144 }
|
||||
- { offset: 0x14EF6, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:forLayer:]', symObjAddr: 0x7D0, symBinAddr: 0x7DE8, symSize: 0x94 }
|
||||
- { offset: 0x14F4E, size: 0x8, addend: 0x0, symName: '-[MGLContext setCurrentContextForLayer:]', symObjAddr: 0x864, symBinAddr: 0x7E7C, symSize: 0x13C }
|
||||
- { offset: 0x15045, size: 0x8, addend: 0x0, symName: '-[MGLContext sharegroup]', symObjAddr: 0x9A0, symBinAddr: 0x7FB8, symSize: 0xC }
|
||||
- { offset: 0x1507C, size: 0x8, addend: 0x0, symName: '-[MGLContext display]', symObjAddr: 0x9AC, symBinAddr: 0x7FC4, symSize: 0x8 }
|
||||
- { offset: 0x150B3, size: 0x8, addend: 0x0, symName: '-[MGLContext eglContext]', symObjAddr: 0x9B4, symBinAddr: 0x7FCC, symSize: 0x8 }
|
||||
- { offset: 0x150EA, size: 0x8, addend: 0x0, symName: '-[MGLContext .cxx_destruct]', symObjAddr: 0x9BC, symBinAddr: 0x7FD4, symSize: 0x30 }
|
||||
- { offset: 0x15143, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ThreadLocalInfoD1Ev, symObjAddr: 0x9EC, symBinAddr: 0x8004, symSize: 0x30 }
|
||||
- { offset: 0x17C49, size: 0x8, addend: 0x0, symName: __ZL20gGlobalDisplayHolder, symObjAddr: 0x3200, symBinAddr: 0x12DD0, symSize: 0x0 }
|
||||
- { offset: 0x17CBF, size: 0x8, addend: 0x0, symName: __ZL15gDefaultDisplay, symObjAddr: 0x3208, symBinAddr: 0x12DD8, symSize: 0x0 }
|
||||
- { offset: 0x17D31, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder init]', symObjAddr: 0x0, symBinAddr: 0x8034, symSize: 0x114 }
|
||||
- { offset: 0x17E6D, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder dealloc]', symObjAddr: 0x114, symBinAddr: 0x8148, symSize: 0x7C }
|
||||
- { offset: 0x17EBF, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder eglDisplay]', symObjAddr: 0x1A0, symBinAddr: 0x81C4, symSize: 0x8 }
|
||||
- { offset: 0x17EF6, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder setEglDisplay:]', symObjAddr: 0x1A8, symBinAddr: 0x81CC, symSize: 0x8 }
|
||||
- { offset: 0x17F33, size: 0x8, addend: 0x0, symName: '+[MGLDisplay defaultDisplay]', symObjAddr: 0x1B0, symBinAddr: 0x81D4, symSize: 0x48 }
|
||||
- { offset: 0x17F66, size: 0x8, addend: 0x0, symName: '-[MGLDisplay init]', symObjAddr: 0x1F8, symBinAddr: 0x821C, symSize: 0xB0 }
|
||||
- { offset: 0x17F9D, size: 0x8, addend: 0x0, symName: '-[MGLDisplay eglDisplay]', symObjAddr: 0x2A8, symBinAddr: 0x82CC, symSize: 0x8 }
|
||||
- { offset: 0x17FD4, size: 0x8, addend: 0x0, symName: '-[MGLDisplay .cxx_destruct]', symObjAddr: 0x2B0, symBinAddr: 0x82D4, symSize: 0xC }
|
||||
- { offset: 0x1850C, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initImpl]', symObjAddr: 0x0, symBinAddr: 0x82E0, symSize: 0x4 }
|
||||
- { offset: 0x1853B, size: 0x8, addend: 0x0, symName: '-[MGLKViewController deallocImpl]', symObjAddr: 0x4, symBinAddr: 0x82E4, symSize: 0x4 }
|
||||
- { offset: 0x1856A, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidMoveToWindow]', symObjAddr: 0x8, symBinAddr: 0x82E8, symSize: 0x4 }
|
||||
- { offset: 0x18599, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidLoad]', symObjAddr: 0xC, symBinAddr: 0x82EC, symSize: 0x4C }
|
||||
- { offset: 0x185E9, size: 0x8, addend: 0x0, symName: __Z3maxll, symObjAddr: 0x58, symBinAddr: 0x8338, symSize: 0xC }
|
||||
- { offset: 0x18625, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPreferredFramesPerSecond:]', symObjAddr: 0x64, symBinAddr: 0x8344, symSize: 0x48 }
|
||||
- { offset: 0x18667, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pause]', symObjAddr: 0xAC, symBinAddr: 0x838C, symSize: 0xB8 }
|
||||
- { offset: 0x186A7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resume]', symObjAddr: 0x164, symBinAddr: 0x8444, symSize: 0x110 }
|
||||
- { offset: 0x186E7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController init]', symObjAddr: 0x274, symBinAddr: 0x8554, symSize: 0x6C }
|
||||
- { offset: 0x1871E, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithNibName:bundle:]', symObjAddr: 0x2E0, symBinAddr: 0x85C0, symSize: 0xBC }
|
||||
- { offset: 0x18773, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithCoder:]', symObjAddr: 0x39C, symBinAddr: 0x867C, symSize: 0x98 }
|
||||
- { offset: 0x187B9, size: 0x8, addend: 0x0, symName: '-[MGLKViewController constructor]', symObjAddr: 0x434, symBinAddr: 0x8714, symSize: 0x48 }
|
||||
- { offset: 0x187EA, size: 0x8, addend: 0x0, symName: '-[MGLKViewController dealloc]', symObjAddr: 0x47C, symBinAddr: 0x875C, symSize: 0x74 }
|
||||
- { offset: 0x1881D, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setView:]', symObjAddr: 0x500, symBinAddr: 0x87D0, symSize: 0x214 }
|
||||
- { offset: 0x1885F, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPaused:]', symObjAddr: 0x714, symBinAddr: 0x89E4, symSize: 0x24 }
|
||||
- { offset: 0x188A3, size: 0x8, addend: 0x0, symName: '-[MGLKViewController mglkView:drawInRect:]', symObjAddr: 0x738, symBinAddr: 0x8A08, symSize: 0x4 }
|
||||
- { offset: 0x188E8, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidAppear:]', symObjAddr: 0x73C, symBinAddr: 0x8A0C, symSize: 0xF0 }
|
||||
- { offset: 0x18937, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidDisappear:]', symObjAddr: 0x82C, symBinAddr: 0x8AFC, symSize: 0xF0 }
|
||||
- { offset: 0x18986, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appWillPause:]', symObjAddr: 0x91C, symBinAddr: 0x8BEC, symSize: 0x5C }
|
||||
- { offset: 0x189D1, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appDidBecomeActive:]', symObjAddr: 0x978, symBinAddr: 0x8C48, symSize: 0x4C }
|
||||
- { offset: 0x18A1C, size: 0x8, addend: 0x0, symName: '-[MGLKViewController handleAppWasInBackground]', symObjAddr: 0x9C4, symBinAddr: 0x8C94, symSize: 0x40 }
|
||||
- { offset: 0x18A68, size: 0x8, addend: 0x0, symName: '-[MGLKViewController frameStep]', symObjAddr: 0xA04, symBinAddr: 0x8CD4, symSize: 0x130 }
|
||||
- { offset: 0x18AF5, size: 0x8, addend: 0x0, symName: '-[MGLKViewController update]', symObjAddr: 0xB34, symBinAddr: 0x8E04, symSize: 0x1C }
|
||||
- { offset: 0x18B28, size: 0x8, addend: 0x0, symName: '-[MGLKViewController delegate]', symObjAddr: 0xB50, symBinAddr: 0x8E20, symSize: 0x10 }
|
||||
- { offset: 0x18B5F, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setDelegate:]', symObjAddr: 0xB60, symBinAddr: 0x8E30, symSize: 0x10 }
|
||||
- { offset: 0x18B9C, size: 0x8, addend: 0x0, symName: '-[MGLKViewController preferredFramesPerSecond]', symObjAddr: 0xB70, symBinAddr: 0x8E40, symSize: 0x10 }
|
||||
- { offset: 0x18BD3, size: 0x8, addend: 0x0, symName: '-[MGLKViewController framesDisplayed]', symObjAddr: 0xB80, symBinAddr: 0x8E50, symSize: 0x10 }
|
||||
- { offset: 0x18C0A, size: 0x8, addend: 0x0, symName: '-[MGLKViewController timeSinceLastUpdate]', symObjAddr: 0xB90, symBinAddr: 0x8E60, symSize: 0x10 }
|
||||
- { offset: 0x18C3F, size: 0x8, addend: 0x0, symName: '-[MGLKViewController isPaused]', symObjAddr: 0xBA0, symBinAddr: 0x8E70, symSize: 0x10 }
|
||||
- { offset: 0x18C76, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pauseOnWillResignActive]', symObjAddr: 0xBB0, symBinAddr: 0x8E80, symSize: 0x10 }
|
||||
- { offset: 0x18CAD, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPauseOnWillResignActive:]', symObjAddr: 0xBC0, symBinAddr: 0x8E90, symSize: 0x10 }
|
||||
- { offset: 0x18CE8, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resumeOnDidBecomeActive]', symObjAddr: 0xBD0, symBinAddr: 0x8EA0, symSize: 0x10 }
|
||||
- { offset: 0x18D1F, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setResumeOnDidBecomeActive:]', symObjAddr: 0xBE0, symBinAddr: 0x8EB0, symSize: 0x10 }
|
||||
- { offset: 0x18D5A, size: 0x8, addend: 0x0, symName: '-[MGLKViewController glView]', symObjAddr: 0xBF0, symBinAddr: 0x8EC0, symSize: 0x20 }
|
||||
- { offset: 0x18D91, size: 0x8, addend: 0x0, symName: '-[MGLKViewController .cxx_destruct]', symObjAddr: 0xC10, symBinAddr: 0x8EE0, symSize: 0x3C }
|
||||
...
|
||||
+351
@@ -0,0 +1,351 @@
|
||||
#ifndef __egl_h_
|
||||
#define __egl_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright 2013-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
**
|
||||
** This header is generated from the Khronos EGL XML API Registry.
|
||||
** The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** http://www.khronos.org/registry/egl
|
||||
**
|
||||
** Khronos $Git commit SHA1: 5b1165a76f $ on $Git commit date: 2023-06-22 06:48:34 -0700 $
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/EGL/eglplatform.h>
|
||||
#else
|
||||
#include <EGL/eglplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef EGL_EGL_PROTOTYPES
|
||||
#define EGL_EGL_PROTOTYPES 1
|
||||
#endif
|
||||
|
||||
/* Generated on date 20230622 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: egl
|
||||
* Versions considered: .*
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef EGL_VERSION_1_0
|
||||
#define EGL_VERSION_1_0 1
|
||||
typedef unsigned int EGLBoolean;
|
||||
typedef void *EGLDisplay;
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#include <MetalANGLEKit/EGL/eglplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#include <EGL/eglplatform.h>
|
||||
#endif
|
||||
typedef void *EGLConfig;
|
||||
typedef void *EGLSurface;
|
||||
typedef void *EGLContext;
|
||||
typedef void (*__eglMustCastToProperFunctionPointerType)(void);
|
||||
#define EGL_ALPHA_SIZE 0x3021
|
||||
#define EGL_BAD_ACCESS 0x3002
|
||||
#define EGL_BAD_ALLOC 0x3003
|
||||
#define EGL_BAD_ATTRIBUTE 0x3004
|
||||
#define EGL_BAD_CONFIG 0x3005
|
||||
#define EGL_BAD_CONTEXT 0x3006
|
||||
#define EGL_BAD_CURRENT_SURFACE 0x3007
|
||||
#define EGL_BAD_DISPLAY 0x3008
|
||||
#define EGL_BAD_MATCH 0x3009
|
||||
#define EGL_BAD_NATIVE_PIXMAP 0x300A
|
||||
#define EGL_BAD_NATIVE_WINDOW 0x300B
|
||||
#define EGL_BAD_PARAMETER 0x300C
|
||||
#define EGL_BAD_SURFACE 0x300D
|
||||
#define EGL_BLUE_SIZE 0x3022
|
||||
#define EGL_BUFFER_SIZE 0x3020
|
||||
#define EGL_CONFIG_CAVEAT 0x3027
|
||||
#define EGL_CONFIG_ID 0x3028
|
||||
#define EGL_CORE_NATIVE_ENGINE 0x305B
|
||||
#define EGL_DEPTH_SIZE 0x3025
|
||||
#define EGL_DONT_CARE EGL_CAST(EGLint,-1)
|
||||
#define EGL_DRAW 0x3059
|
||||
#define EGL_EXTENSIONS 0x3055
|
||||
#define EGL_FALSE 0
|
||||
#define EGL_GREEN_SIZE 0x3023
|
||||
#define EGL_HEIGHT 0x3056
|
||||
#define EGL_LARGEST_PBUFFER 0x3058
|
||||
#define EGL_LEVEL 0x3029
|
||||
#define EGL_MAX_PBUFFER_HEIGHT 0x302A
|
||||
#define EGL_MAX_PBUFFER_PIXELS 0x302B
|
||||
#define EGL_MAX_PBUFFER_WIDTH 0x302C
|
||||
#define EGL_NATIVE_RENDERABLE 0x302D
|
||||
#define EGL_NATIVE_VISUAL_ID 0x302E
|
||||
#define EGL_NATIVE_VISUAL_TYPE 0x302F
|
||||
#define EGL_NONE 0x3038
|
||||
#define EGL_NON_CONFORMANT_CONFIG 0x3051
|
||||
#define EGL_NOT_INITIALIZED 0x3001
|
||||
#define EGL_NO_CONTEXT EGL_CAST(EGLContext,0)
|
||||
#define EGL_NO_DISPLAY EGL_CAST(EGLDisplay,0)
|
||||
#define EGL_NO_SURFACE EGL_CAST(EGLSurface,0)
|
||||
#define EGL_PBUFFER_BIT 0x0001
|
||||
#define EGL_PIXMAP_BIT 0x0002
|
||||
#define EGL_READ 0x305A
|
||||
#define EGL_RED_SIZE 0x3024
|
||||
#define EGL_SAMPLES 0x3031
|
||||
#define EGL_SAMPLE_BUFFERS 0x3032
|
||||
#define EGL_SLOW_CONFIG 0x3050
|
||||
#define EGL_STENCIL_SIZE 0x3026
|
||||
#define EGL_SUCCESS 0x3000
|
||||
#define EGL_SURFACE_TYPE 0x3033
|
||||
#define EGL_TRANSPARENT_BLUE_VALUE 0x3035
|
||||
#define EGL_TRANSPARENT_GREEN_VALUE 0x3036
|
||||
#define EGL_TRANSPARENT_RED_VALUE 0x3037
|
||||
#define EGL_TRANSPARENT_RGB 0x3052
|
||||
#define EGL_TRANSPARENT_TYPE 0x3034
|
||||
#define EGL_TRUE 1
|
||||
#define EGL_VENDOR 0x3053
|
||||
#define EGL_VERSION 0x3054
|
||||
#define EGL_WIDTH 0x3057
|
||||
#define EGL_WINDOW_BIT 0x0004
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCHOOSECONFIGPROC) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLCOPYBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
|
||||
typedef EGLContext (EGLAPIENTRYP PFNEGLCREATECONTEXTPROC) (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERSURFACEPROC) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGATTRIBPROC) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETCONFIGSPROC) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETCURRENTDISPLAYPROC) (void);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLGETCURRENTSURFACEPROC) (EGLint readdraw);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETDISPLAYPROC) (EGLNativeDisplayType display_id);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLGETERRORPROC) (void);
|
||||
typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRYP PFNEGLGETPROCADDRESSPROC) (const char *procname);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLINITIALIZEPROC) (EGLDisplay dpy, EGLint *major, EGLint *minor);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLMAKECURRENTPROC) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYCONTEXTPROC) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
|
||||
typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGPROC) (EGLDisplay dpy, EGLint name);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSPROC) (EGLDisplay dpy, EGLSurface surface);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLTERMINATEPROC) (EGLDisplay dpy);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITGLPROC) (void);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITNATIVEPROC) (EGLint engine);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers (EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target);
|
||||
EGLAPI EGLContext EGLAPIENTRY eglCreateContext (EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface (EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface (EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface (EGLDisplay dpy, EGLSurface surface);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay (void);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface (EGLint readdraw);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay (EGLNativeDisplayType display_id);
|
||||
EGLAPI EGLint EGLAPIENTRY eglGetError (void);
|
||||
EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress (const char *procname);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglInitialize (EGLDisplay dpy, EGLint *major, EGLint *minor);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
|
||||
EGLAPI const char *EGLAPIENTRY eglQueryString (EGLDisplay dpy, EGLint name);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers (EGLDisplay dpy, EGLSurface surface);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglTerminate (EGLDisplay dpy);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL (void);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative (EGLint engine);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_0 */
|
||||
|
||||
#ifndef EGL_VERSION_1_1
|
||||
#define EGL_VERSION_1_1 1
|
||||
#define EGL_BACK_BUFFER 0x3084
|
||||
#define EGL_BIND_TO_TEXTURE_RGB 0x3039
|
||||
#define EGL_BIND_TO_TEXTURE_RGBA 0x303A
|
||||
#define EGL_CONTEXT_LOST 0x300E
|
||||
#define EGL_MIN_SWAP_INTERVAL 0x303B
|
||||
#define EGL_MAX_SWAP_INTERVAL 0x303C
|
||||
#define EGL_MIPMAP_TEXTURE 0x3082
|
||||
#define EGL_MIPMAP_LEVEL 0x3083
|
||||
#define EGL_NO_TEXTURE 0x305C
|
||||
#define EGL_TEXTURE_2D 0x305F
|
||||
#define EGL_TEXTURE_FORMAT 0x3080
|
||||
#define EGL_TEXTURE_RGB 0x305D
|
||||
#define EGL_TEXTURE_RGBA 0x305E
|
||||
#define EGL_TEXTURE_TARGET 0x3081
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDTEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETEXIMAGEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSURFACEATTRIBPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPINTERVALPROC) (EGLDisplay dpy, EGLint interval);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage (EGLDisplay dpy, EGLSurface surface, EGLint buffer);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval (EGLDisplay dpy, EGLint interval);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_1 */
|
||||
|
||||
#ifndef EGL_VERSION_1_2
|
||||
#define EGL_VERSION_1_2 1
|
||||
typedef unsigned int EGLenum;
|
||||
typedef void *EGLClientBuffer;
|
||||
#define EGL_ALPHA_FORMAT 0x3088
|
||||
#define EGL_ALPHA_FORMAT_NONPRE 0x308B
|
||||
#define EGL_ALPHA_FORMAT_PRE 0x308C
|
||||
#define EGL_ALPHA_MASK_SIZE 0x303E
|
||||
#define EGL_BUFFER_PRESERVED 0x3094
|
||||
#define EGL_BUFFER_DESTROYED 0x3095
|
||||
#define EGL_CLIENT_APIS 0x308D
|
||||
#define EGL_COLORSPACE 0x3087
|
||||
#define EGL_COLORSPACE_sRGB 0x3089
|
||||
#define EGL_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_COLOR_BUFFER_TYPE 0x303F
|
||||
#define EGL_CONTEXT_CLIENT_TYPE 0x3097
|
||||
#define EGL_DISPLAY_SCALING 10000
|
||||
#define EGL_HORIZONTAL_RESOLUTION 0x3090
|
||||
#define EGL_LUMINANCE_BUFFER 0x308F
|
||||
#define EGL_LUMINANCE_SIZE 0x303D
|
||||
#define EGL_OPENGL_ES_BIT 0x0001
|
||||
#define EGL_OPENVG_BIT 0x0002
|
||||
#define EGL_OPENGL_ES_API 0x30A0
|
||||
#define EGL_OPENVG_API 0x30A1
|
||||
#define EGL_OPENVG_IMAGE 0x3096
|
||||
#define EGL_PIXEL_ASPECT_RATIO 0x3092
|
||||
#define EGL_RENDERABLE_TYPE 0x3040
|
||||
#define EGL_RENDER_BUFFER 0x3086
|
||||
#define EGL_RGB_BUFFER 0x308E
|
||||
#define EGL_SINGLE_BUFFER 0x3085
|
||||
#define EGL_SWAP_BEHAVIOR 0x3093
|
||||
#define EGL_UNKNOWN EGL_CAST(EGLint,-1)
|
||||
#define EGL_VERTICAL_RESOLUTION 0x3091
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDAPIPROC) (EGLenum api);
|
||||
typedef EGLenum (EGLAPIENTRYP PFNEGLQUERYAPIPROC) (void);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC) (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLRELEASETHREADPROC) (void);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITCLIENTPROC) (void);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI (EGLenum api);
|
||||
EGLAPI EGLenum EGLAPIENTRY eglQueryAPI (void);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer (EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread (void);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient (void);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_2 */
|
||||
|
||||
#ifndef EGL_VERSION_1_3
|
||||
#define EGL_VERSION_1_3 1
|
||||
#define EGL_CONFORMANT 0x3042
|
||||
#define EGL_CONTEXT_CLIENT_VERSION 0x3098
|
||||
#define EGL_MATCH_NATIVE_PIXMAP 0x3041
|
||||
#define EGL_OPENGL_ES2_BIT 0x0004
|
||||
#define EGL_VG_ALPHA_FORMAT 0x3088
|
||||
#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B
|
||||
#define EGL_VG_ALPHA_FORMAT_PRE 0x308C
|
||||
#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040
|
||||
#define EGL_VG_COLORSPACE 0x3087
|
||||
#define EGL_VG_COLORSPACE_sRGB 0x3089
|
||||
#define EGL_VG_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020
|
||||
#endif /* EGL_VERSION_1_3 */
|
||||
|
||||
#ifndef EGL_VERSION_1_4
|
||||
#define EGL_VERSION_1_4 1
|
||||
#define EGL_DEFAULT_DISPLAY EGL_CAST(EGLNativeDisplayType,0)
|
||||
#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200
|
||||
#define EGL_MULTISAMPLE_RESOLVE 0x3099
|
||||
#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A
|
||||
#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B
|
||||
#define EGL_OPENGL_API 0x30A2
|
||||
#define EGL_OPENGL_BIT 0x0008
|
||||
#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400
|
||||
typedef EGLContext (EGLAPIENTRYP PFNEGLGETCURRENTCONTEXTPROC) (void);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext (void);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_4 */
|
||||
|
||||
#ifndef EGL_VERSION_1_5
|
||||
#define EGL_VERSION_1_5 1
|
||||
typedef void *EGLSync;
|
||||
typedef intptr_t EGLAttrib;
|
||||
typedef khronos_utime_nanoseconds_t EGLTime;
|
||||
typedef void *EGLImage;
|
||||
#define EGL_CONTEXT_MAJOR_VERSION 0x3098
|
||||
#define EGL_CONTEXT_MINOR_VERSION 0x30FB
|
||||
#define EGL_CONTEXT_OPENGL_PROFILE_MASK 0x30FD
|
||||
#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY 0x31BD
|
||||
#define EGL_NO_RESET_NOTIFICATION 0x31BE
|
||||
#define EGL_LOSE_CONTEXT_ON_RESET 0x31BF
|
||||
#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT 0x00000001
|
||||
#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT 0x00000002
|
||||
#define EGL_CONTEXT_OPENGL_DEBUG 0x31B0
|
||||
#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE 0x31B1
|
||||
#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS 0x31B2
|
||||
#define EGL_OPENGL_ES3_BIT 0x00000040
|
||||
#define EGL_CL_EVENT_HANDLE 0x309C
|
||||
#define EGL_SYNC_CL_EVENT 0x30FE
|
||||
#define EGL_SYNC_CL_EVENT_COMPLETE 0x30FF
|
||||
#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE 0x30F0
|
||||
#define EGL_SYNC_TYPE 0x30F7
|
||||
#define EGL_SYNC_STATUS 0x30F1
|
||||
#define EGL_SYNC_CONDITION 0x30F8
|
||||
#define EGL_SIGNALED 0x30F2
|
||||
#define EGL_UNSIGNALED 0x30F3
|
||||
#define EGL_SYNC_FLUSH_COMMANDS_BIT 0x0001
|
||||
#define EGL_FOREVER 0xFFFFFFFFFFFFFFFFull
|
||||
#define EGL_TIMEOUT_EXPIRED 0x30F5
|
||||
#define EGL_CONDITION_SATISFIED 0x30F6
|
||||
#define EGL_NO_SYNC EGL_CAST(EGLSync,0)
|
||||
#define EGL_SYNC_FENCE 0x30F9
|
||||
#define EGL_GL_COLORSPACE 0x309D
|
||||
#define EGL_GL_COLORSPACE_SRGB 0x3089
|
||||
#define EGL_GL_COLORSPACE_LINEAR 0x308A
|
||||
#define EGL_GL_RENDERBUFFER 0x30B9
|
||||
#define EGL_GL_TEXTURE_2D 0x30B1
|
||||
#define EGL_GL_TEXTURE_LEVEL 0x30BC
|
||||
#define EGL_GL_TEXTURE_3D 0x30B2
|
||||
#define EGL_GL_TEXTURE_ZOFFSET 0x30BD
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x30B3
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x30B4
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x30B5
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x30B6
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x30B7
|
||||
#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x30B8
|
||||
#define EGL_IMAGE_PRESERVED 0x30D2
|
||||
#define EGL_NO_IMAGE EGL_CAST(EGLImage,0)
|
||||
typedef EGLSync (EGLAPIENTRYP PFNEGLCREATESYNCPROC) (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCPROC) (EGLDisplay dpy, EGLSync sync);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBPROC) (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
|
||||
typedef EGLImage (EGLAPIENTRYP PFNEGLCREATEIMAGEPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEPROC) (EGLDisplay dpy, EGLImage image);
|
||||
typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYPROC) (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
|
||||
typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLWAITSYNCPROC) (EGLDisplay dpy, EGLSync sync, EGLint flags);
|
||||
#if EGL_EGL_PROTOTYPES
|
||||
EGLAPI EGLSync EGLAPIENTRY eglCreateSync (EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroySync (EGLDisplay dpy, EGLSync sync);
|
||||
EGLAPI EGLint EGLAPIENTRY eglClientWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttrib (EGLDisplay dpy, EGLSync sync, EGLint attribute, EGLAttrib *value);
|
||||
EGLAPI EGLImage EGLAPIENTRY eglCreateImage (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImage (EGLDisplay dpy, EGLImage image);
|
||||
EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplay (EGLenum platform, void *native_display, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglWaitSync (EGLDisplay dpy, EGLSync sync, EGLint flags);
|
||||
#endif
|
||||
#endif /* EGL_VERSION_1_5 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+1516
File diff suppressed because it is too large
Load Diff
+452
@@ -0,0 +1,452 @@
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// eglext_angle.h: ANGLE modifications to the eglext.h header file.
|
||||
// Currently we don't include this file directly, we patch eglext.h
|
||||
// to include it implicitly so it is visible throughout our code.
|
||||
|
||||
#ifndef INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
#define INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
|
||||
// clang-format off
|
||||
|
||||
#ifndef EGL_ANGLE_robust_resource_initialization
|
||||
#define EGL_ANGLE_robust_resource_initialization 1
|
||||
#define EGL_ROBUST_RESOURCE_INITIALIZATION_ANGLE 0x3453
|
||||
#endif /* EGL_ANGLE_robust_resource_initialization */
|
||||
|
||||
#ifndef EGL_ANGLE_keyed_mutex
|
||||
#define EGL_ANGLE_keyed_mutex 1
|
||||
#define EGL_DXGI_KEYED_MUTEX_ANGLE 0x33A2
|
||||
#endif /* EGL_ANGLE_keyed_mutex */
|
||||
|
||||
#ifndef EGL_ANGLE_d3d_texture_client_buffer
|
||||
#define EGL_ANGLE_d3d_texture_client_buffer 1
|
||||
#define EGL_D3D_TEXTURE_ANGLE 0x33A3
|
||||
#define EGL_TEXTURE_OFFSET_X_ANGLE 0x3490
|
||||
#define EGL_TEXTURE_OFFSET_Y_ANGLE 0x3491
|
||||
#define EGL_D3D11_TEXTURE_PLANE_ANGLE 0x3492
|
||||
#define EGL_D3D11_TEXTURE_ARRAY_SLICE_ANGLE 0x3493
|
||||
#endif /* EGL_ANGLE_d3d_texture_client_buffer */
|
||||
|
||||
#ifndef EGL_ANGLE_software_display
|
||||
#define EGL_ANGLE_software_display 1
|
||||
#define EGL_SOFTWARE_DISPLAY_ANGLE ((EGLNativeDisplayType)-1)
|
||||
#endif /* EGL_ANGLE_software_display */
|
||||
|
||||
#ifndef EGL_ANGLE_direct3d_display
|
||||
#define EGL_ANGLE_direct3d_display 1
|
||||
#define EGL_D3D11_ELSE_D3D9_DISPLAY_ANGLE ((EGLNativeDisplayType)-2)
|
||||
#define EGL_D3D11_ONLY_DISPLAY_ANGLE ((EGLNativeDisplayType)-3)
|
||||
#endif /* EGL_ANGLE_direct3d_display */
|
||||
|
||||
#ifndef EGL_ANGLE_direct_composition
|
||||
#define EGL_ANGLE_direct_composition 1
|
||||
#define EGL_DIRECT_COMPOSITION_ANGLE 0x33A5
|
||||
#endif /* EGL_ANGLE_direct_composition */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle
|
||||
#define EGL_ANGLE_platform_angle 1
|
||||
#define EGL_PLATFORM_ANGLE_ANGLE 0x3202
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_ANGLE 0x3203
|
||||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE 0x3204
|
||||
#define EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE 0x3205
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE 0x3206
|
||||
#define EGL_PLATFORM_ANGLE_DEBUG_LAYERS_ENABLED_ANGLE 0x3451
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_ANGLE 0x3209
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE 0x320A
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE 0x345E
|
||||
#define EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE 0x348F
|
||||
#endif /* EGL_ANGLE_platform_angle */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d
|
||||
#define EGL_ANGLE_platform_angle_d3d 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE 0x3207
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE 0x3208
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_WARP_ANGLE 0x320B
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_D3D_REFERENCE_ANGLE 0x320C
|
||||
#define EGL_PLATFORM_ANGLE_ENABLE_AUTOMATIC_TRIM_ANGLE 0x320F
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d_luid
|
||||
#define EGL_ANGLE_platform_angle_d3d_luid 1
|
||||
#define EGL_PLATFORM_ANGLE_D3D_LUID_HIGH_ANGLE 0x34A0
|
||||
#define EGL_PLATFORM_ANGLE_D3D_LUID_LOW_ANGLE 0x34A1
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d_luid */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_d3d11on12
|
||||
#define EGL_ANGLE_platform_angle_d3d11on12 1
|
||||
#define EGL_PLATFORM_ANGLE_D3D11ON12_ANGLE 0x3488
|
||||
#endif /* EGL_ANGLE_platform_angle_d3d11on12 */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_opengl
|
||||
#define EGL_ANGLE_platform_angle_opengl 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE 0x320D
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE 0x320E
|
||||
#define EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE 0x3480
|
||||
#endif /* EGL_ANGLE_platform_angle_opengl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_null
|
||||
#define EGL_ANGLE_platform_angle_null 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE 0x33AE
|
||||
#endif /* EGL_ANGLE_platform_angle_null */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_webgpu
|
||||
#define EGL_ANGLE_platform_angle_webgpu 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_WEBGPU_ANGLE 0x34DD
|
||||
#endif /* EGL_ANGLE_platform_angle_webgpu */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_vulkan
|
||||
#define EGL_ANGLE_platform_angle_vulkan 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE 0x3450
|
||||
#define EGL_PLATFORM_VULKAN_DISPLAY_MODE_SIMPLE_ANGLE 0x34A4
|
||||
#define EGL_PLATFORM_VULKAN_DISPLAY_MODE_HEADLESS_ANGLE 0x34A5
|
||||
#endif /* EGL_ANGLE_platform_angle_vulkan */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_metal
|
||||
#define EGL_ANGLE_platform_angle_metal 1
|
||||
#define EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE 0x3489
|
||||
#endif /* EGL_ANGLE_platform_angle_metal */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_type_swiftshader
|
||||
#define EGL_ANGLE_platform_angle_device_type_swiftshader
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_SWIFTSHADER_ANGLE 0x3487
|
||||
#endif /* EGL_ANGLE_platform_angle_device_type_swiftshader */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_type_egl_angle
|
||||
#define EGL_ANGLE_platform_angle_device_type_egl_angle
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_TYPE_EGL_ANGLE 0x348E
|
||||
#endif /* EGL_ANGLE_platform_angle_device_type_egl_angle */
|
||||
|
||||
#ifndef EGL_ANGLE_context_virtualization
|
||||
#define EGL_ANGLE_context_virtualization 1
|
||||
#define EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE 0x3481
|
||||
#endif /* EGL_ANGLE_context_virtualization */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_context_volatile_eagl
|
||||
#define EGL_ANGLE_platform_angle_device_context_volatile_eagl 1
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_EAGL_ANGLE 0x34A2
|
||||
#endif /* EGL_ANGLE_platform_angle_device_context_volatile_eagl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_context_volatile_cgl
|
||||
#define EGL_ANGLE_platform_angle_device_context_volatile_cgl 1
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_CONTEXT_VOLATILE_CGL_ANGLE 0x34A3
|
||||
#endif /* EGL_ANGLE_platform_angle_device_context_volatile_cgl */
|
||||
|
||||
#ifndef EGL_ANGLE_platform_angle_device_id
|
||||
#define EGL_ANGLE_platform_angle_device_id
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_ID_HIGH_ANGLE 0x34D6
|
||||
#define EGL_PLATFORM_ANGLE_DEVICE_ID_LOW_ANGLE 0x34D7
|
||||
#define EGL_PLATFORM_ANGLE_DISPLAY_KEY_ANGLE 0x34DC
|
||||
#endif /* EGL_ANGLE_platform_angle_device_id */
|
||||
|
||||
#ifndef EGL_ANGLE_x11_visual
|
||||
#define EGL_ANGLE_x11_visual
|
||||
#define EGL_X11_VISUAL_ID_ANGLE 0x33A3
|
||||
#endif /* EGL_ANGLE_x11_visual */
|
||||
|
||||
#ifndef EGL_ANGLE_surface_orientation
|
||||
#define EGL_ANGLE_surface_orientation
|
||||
#define EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE 0x33A7
|
||||
#define EGL_SURFACE_ORIENTATION_ANGLE 0x33A8
|
||||
#define EGL_SURFACE_ORIENTATION_INVERT_X_ANGLE 0x0001
|
||||
#define EGL_SURFACE_ORIENTATION_INVERT_Y_ANGLE 0x0002
|
||||
#endif /* EGL_ANGLE_surface_orientation */
|
||||
|
||||
#ifndef EGL_ANGLE_experimental_present_path
|
||||
#define EGL_ANGLE_experimental_present_path
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_ANGLE 0x33A4
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE 0x33A9
|
||||
#define EGL_EXPERIMENTAL_PRESENT_PATH_COPY_ANGLE 0x33AA
|
||||
#endif /* EGL_ANGLE_experimental_present_path */
|
||||
|
||||
#ifndef EGL_ANGLE_stream_producer_d3d_texture
|
||||
#define EGL_ANGLE_stream_producer_d3d_texture
|
||||
#define EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE 0x33AB
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC)(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglCreateStreamProducerD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglStreamPostD3DTextureANGLE(EGLDisplay dpy, EGLStreamKHR stream, void *texture, const EGLAttrib *attrib_list);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_stream_producer_d3d_texture */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_webgl_compatibility
|
||||
#define EGL_ANGLE_create_context_webgl_compatibility 1
|
||||
#define EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE 0x33AC
|
||||
#endif /* EGL_ANGLE_create_context_webgl_compatibility */
|
||||
|
||||
#ifndef EGL_ANGLE_display_texture_share_group
|
||||
#define EGL_ANGLE_display_texture_share_group 1
|
||||
#define EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE 0x33AF
|
||||
#endif /* EGL_ANGLE_display_texture_share_group */
|
||||
|
||||
#ifndef EGL_CHROMIUM_create_context_bind_generates_resource
|
||||
#define EGL_CHROMIUM_create_context_bind_generates_resource 1
|
||||
#define EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM 0x33AD
|
||||
#endif /* EGL_CHROMIUM_create_context_bind_generates_resource */
|
||||
|
||||
#ifndef EGL_ANGLE_metal_create_context_ownership_identity
|
||||
#define EGL_ANGLE_metal_create_context_ownership_identity 1
|
||||
#define EGL_CONTEXT_METAL_OWNERSHIP_IDENTITY_ANGLE 0x34D2
|
||||
#endif /* EGL_ANGLE_metal_create_context_ownership_identity */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_client_arrays
|
||||
#define EGL_ANGLE_create_context_client_arrays 1
|
||||
#define EGL_CONTEXT_CLIENT_ARRAYS_ENABLED_ANGLE 0x3452
|
||||
#endif /* EGL_ANGLE_create_context_client_arrays */
|
||||
|
||||
#ifndef EGL_ANGLE_device_creation
|
||||
#define EGL_ANGLE_device_creation 1
|
||||
typedef EGLDeviceEXT(EGLAPIENTRYP PFNEGLCREATEDEVICEANGLEPROC) (EGLint device_type, void *native_device, const EGLAttrib *attrib_list);
|
||||
typedef EGLBoolean(EGLAPIENTRYP PFNEGLRELEASEDEVICEANGLEPROC) (EGLDeviceEXT device);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLDeviceEXT EGLAPIENTRY eglCreateDeviceANGLE(EGLint device_type, void *native_device, const EGLAttrib *attrib_list);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglReleaseDeviceANGLE(EGLDeviceEXT device);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_device_creation */
|
||||
|
||||
#ifndef EGL_ANGLE_program_cache_control
|
||||
#define EGL_ANGLE_program_cache_control 1
|
||||
#define EGL_PROGRAM_CACHE_SIZE_ANGLE 0x3455
|
||||
#define EGL_PROGRAM_CACHE_KEY_LENGTH_ANGLE 0x3456
|
||||
#define EGL_PROGRAM_CACHE_RESIZE_ANGLE 0x3457
|
||||
#define EGL_PROGRAM_CACHE_TRIM_ANGLE 0x3458
|
||||
#define EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE 0x3459
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC) (EGLDisplay dpy, EGLenum attrib);
|
||||
typedef void (EGLAPIENTRYP PFNEGLPROGRAMCACHEQUERYANGLEPROC) (EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize);
|
||||
typedef void (EGLAPIENTRYP PFNEGLPROGRAMCACHEPOPULATEANGLEPROC) (EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize);
|
||||
typedef EGLint (EGLAPIENTRYP PFNEGLPROGRAMCACHERESIZEANGLEPROC) (EGLDisplay dpy, EGLint limit, EGLint mode);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLint EGLAPIENTRY eglProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib);
|
||||
EGLAPI void EGLAPIENTRY eglProgramCacheQueryANGLE(EGLDisplay dpy, EGLint index, void *key, EGLint *keysize, void *binary, EGLint *binarysize);
|
||||
EGLAPI void EGLAPIENTRY eglProgramCachePopulateANGLE(EGLDisplay dpy, const void *key, EGLint keysize, const void *binary, EGLint binarysize);
|
||||
EGLAPI EGLint EGLAPIENTRY eglProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGLint mode);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_program_cache_control */
|
||||
|
||||
#ifndef EGL_ANGLE_iosurface_client_buffer
|
||||
#define EGL_ANGLE_iosurface_client_buffer 1
|
||||
#define EGL_IOSURFACE_ANGLE 0x3454
|
||||
#define EGL_IOSURFACE_PLANE_ANGLE 0x345A
|
||||
#define EGL_TEXTURE_RECTANGLE_ANGLE 0x345B
|
||||
#define EGL_TEXTURE_TYPE_ANGLE 0x345C
|
||||
#define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
|
||||
#define EGL_IOSURFACE_USAGE_HINT_ANGLE 0x348A
|
||||
#define EGL_IOSURFACE_READ_HINT_ANGLE 0x0001
|
||||
#define EGL_IOSURFACE_WRITE_HINT_ANGLE 0x0002
|
||||
#define EGL_BIND_TO_TEXTURE_TARGET_ANGLE 0x348D
|
||||
#endif /* EGL_ANGLE_iosurface_client_buffer */
|
||||
|
||||
#ifndef ANGLE_metal_texture_client_buffer
|
||||
#define ANGLE_metal_texture_client_buffer 1
|
||||
#define EGL_METAL_TEXTURE_ANGLE 0x34A7
|
||||
#define EGL_METAL_TEXTURE_ARRAY_SLICE_ANGLE 0x34DD
|
||||
#endif /* ANGLE_metal_texture_client_buffer */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_extensions_enabled
|
||||
#define EGL_ANGLE_create_context_extensions_enabled 1
|
||||
#define EGL_EXTENSIONS_ENABLED_ANGLE 0x345F
|
||||
#endif /* EGL_ANGLE_create_context_extensions_enabled */
|
||||
|
||||
#ifndef EGL_CHROMIUM_sync_control
|
||||
#define EGL_CHROMIUM_sync_control 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCVALUESCHROMIUMPROC) (EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLuint64KHR *ust,
|
||||
EGLuint64KHR *msc,
|
||||
EGLuint64KHR *sbc);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLuint64KHR *ust,
|
||||
EGLuint64KHR *msc,
|
||||
EGLuint64KHR *sbc);
|
||||
#endif
|
||||
#endif /* EGL_CHROMIUM_sync_control */
|
||||
|
||||
#ifndef EGL_ANGLE_sync_control_rate
|
||||
#define EGL_ANGLE_sync_control_rate 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETMSCRATEANGLEPROC) (EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLint *numerator,
|
||||
EGLint *denominator);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglGetMscRateANGLE(EGLDisplay dpy,
|
||||
EGLSurface surface,
|
||||
EGLint *numerator,
|
||||
EGLint *denominator);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_sync_control_rate */
|
||||
|
||||
#ifndef EGL_ANGLE_power_preference
|
||||
#define EGL_ANGLE_power_preference 1
|
||||
#define EGL_POWER_PREFERENCE_ANGLE 0x3482
|
||||
#define EGL_LOW_POWER_ANGLE 0x0001
|
||||
#define EGL_HIGH_POWER_ANGLE 0x0002
|
||||
typedef void(EGLAPIENTRYP PFNEGLRELEASEHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef void(EGLAPIENTRYP PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC) (EGLDisplay dpy, EGLContext ctx);
|
||||
typedef void(EGLAPIENTRYP PFNEGLHANDLEGPUSWITCHANGLEPROC) (EGLDisplay dpy);
|
||||
typedef void(EGLAPIENTRYP PFNEGLFORCEGPUSWITCHANGLEPROC) (EGLDisplay dpy, EGLint gpuIDHigh, EGLint gpuIDLow);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI void EGLAPIENTRY eglReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx);
|
||||
EGLAPI void EGLAPIENTRY eglHandleGPUSwitchANGLE(EGLDisplay dpy);
|
||||
EGLAPI void EGLAPIENTRY eglForceGPUSwitchANGLE(EGLDisplay dpy, EGLint gpuIDHigh, EGLint gpuIDLow);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_power_preference */
|
||||
|
||||
#ifndef EGL_ANGLE_wait_until_work_scheduled
|
||||
#define EGL_ANGLE_wait_until_work_scheduled 1
|
||||
typedef void(EGLAPIENTRYP PFNEGLWAITUNTILWORKSCHEDULEDANGLEPROC) (EGLDisplay dpy);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglWaitUntilWorkScheduledANGLE(EGLDisplay dpy);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_wait_until_work_scheduled */
|
||||
|
||||
#ifndef EGL_ANGLE_feature_control
|
||||
#define EGL_ANGLE_feature_control 1
|
||||
#define EGL_FEATURE_NAME_ANGLE 0x3460
|
||||
#define EGL_FEATURE_CATEGORY_ANGLE 0x3461
|
||||
#define EGL_FEATURE_DESCRIPTION_ANGLE 0x3462
|
||||
#define EGL_FEATURE_BUG_ANGLE 0x3463
|
||||
#define EGL_FEATURE_STATUS_ANGLE 0x3464
|
||||
#define EGL_FEATURE_COUNT_ANGLE 0x3465
|
||||
#define EGL_FEATURE_OVERRIDES_ENABLED_ANGLE 0x3466
|
||||
#define EGL_FEATURE_OVERRIDES_DISABLED_ANGLE 0x3467
|
||||
#define EGL_FEATURE_CONDITION_ANGLE 0x3468
|
||||
#define EGL_FEATURE_ALL_DISABLED_ANGLE 0x3469
|
||||
typedef const char *(EGLAPIENTRYP PFNEGLQUERYSTRINGIANGLEPROC) (EGLDisplay dpy, EGLint name, EGLint index);
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYDISPLAYATTRIBANGLEPROC) (EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI const char *EGLAPIENTRY eglQueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLint index);
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglQueryDisplayAttribANGLE(EGLDisplay dpy, EGLint attribute, EGLAttrib *value);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_feature_control */
|
||||
|
||||
#ifndef EGL_ANGLE_image_d3d11_texture
|
||||
#define EGL_D3D11_TEXTURE_ANGLE 0x3484
|
||||
#define EGL_TEXTURE_INTERNAL_FORMAT_ANGLE 0x345D
|
||||
#endif /* EGL_ANGLE_image_d3d11_texture */
|
||||
|
||||
#ifndef EGL_ANGLE_create_context_backwards_compatible
|
||||
#define EGL_ANGLE_create_context_backwards_compatible 1
|
||||
#define EGL_CONTEXT_OPENGL_BACKWARDS_COMPATIBLE_ANGLE 0x3483
|
||||
#endif /* EGL_ANGLE_create_context_backwards_compatible */
|
||||
|
||||
#ifndef EGL_ANGLE_device_cgl
|
||||
#define EGL_ANGLE_device_cgl 1
|
||||
#define EGL_CGL_CONTEXT_ANGLE 0x3485
|
||||
#define EGL_CGL_PIXEL_FORMAT_ANGLE 0x3486
|
||||
#endif
|
||||
|
||||
#ifndef EGL_ANGLE_ggp_stream_descriptor
|
||||
#define EGL_ANGLE_ggp_stream_descriptor 1
|
||||
#define EGL_GGP_STREAM_DESCRIPTOR_ANGLE 0x348B
|
||||
#endif /* EGL_ANGLE_ggp_stream_descriptor */
|
||||
|
||||
#ifndef EGL_ANGLE_swap_with_frame_token
|
||||
#define EGL_ANGLE_swap_with_frame_token 1
|
||||
typedef khronos_uint64_t EGLFrameTokenANGLE;
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC)(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy, EGLSurface surface, EGLFrameTokenANGLE frametoken);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_swap_with_frame_token */
|
||||
|
||||
#ifndef EGL_ANGLE_prepare_swap_buffers
|
||||
#define EGL_ANGLE_prepare_swap_buffers 1
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLPREPARESWAPBUFFERSANGLEPROC)(EGLDisplay dpy, EGLSurface surface);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_prepare_swap_buffers */
|
||||
|
||||
#ifndef EGL_ANGLE_device_eagl
|
||||
#define EGL_ANGLE_device_eagl 1
|
||||
#define EGL_EAGL_CONTEXT_ANGLE 0x348C
|
||||
#endif
|
||||
|
||||
#ifndef EGL_ANGLE_device_metal
|
||||
#define EGL_ANGLE_device_metal 1
|
||||
#define EGL_METAL_DEVICE_ANGLE 0x34A6
|
||||
#endif /* EGL_ANGLE_device_metal */
|
||||
|
||||
#ifndef EGL_ANGLE_display_semaphore_share_group
|
||||
#define EGL_ANGLE_display_semaphore_share_group 1
|
||||
#define EGL_DISPLAY_SEMAPHORE_SHARE_GROUP_ANGLE 0x348D
|
||||
#endif /* EGL_ANGLE_display_semaphore_share_group */
|
||||
|
||||
#ifndef EGL_ANGLE_external_context_and_surface
|
||||
#define EGL_ANGLE_external_context_and_surface 1
|
||||
#define EGL_EXTERNAL_CONTEXT_ANGLE 0x348E
|
||||
#define EGL_EXTERNAL_SURFACE_ANGLE 0x348F
|
||||
typedef void (EGLAPIENTRYP PFNEGLACQUIREEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy, EGLSurface readAndDraw);
|
||||
typedef void (EGLAPIENTRYP PFNEGLRELEASEEXTERNALCONTEXTANGLEPROC) (EGLDisplay dpy);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglAcquireExternalContextANGLE(EGLDisplay dpy, EGLSurface drawAndRead);
|
||||
EGLAPI void EGLAPIENTRY eglReleaseExternalContextANGLE(EGLDisplay dpy);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_external_context_and_surface */
|
||||
|
||||
#ifndef EGL_ANGLE_create_surface_swap_interval
|
||||
#define EGL_ANGLE_create_surface_swap_interval 1
|
||||
#define EGL_SWAP_INTERVAL_ANGLE 0x322F
|
||||
#endif /* EGL_ANGLE_create_surface_swap_interval */
|
||||
|
||||
#ifndef EGL_ANGLE_device_vulkan
|
||||
#define EGL_ANGLE_device_vulkan 1
|
||||
#define EGL_VULKAN_VERSION_ANGLE 0x34A8
|
||||
#define EGL_VULKAN_INSTANCE_ANGLE 0x34A9
|
||||
#define EGL_VULKAN_INSTANCE_EXTENSIONS_ANGLE 0x34AA
|
||||
#define EGL_VULKAN_PHYSICAL_DEVICE_ANGLE 0x34AB
|
||||
#define EGL_VULKAN_DEVICE_ANGLE 0x34AC
|
||||
#define EGL_VULKAN_DEVICE_EXTENSIONS_ANGLE 0x34AD
|
||||
#define EGL_VULKAN_FEATURES_ANGLE 0x34AE
|
||||
#define EGL_VULKAN_QUEUE_ANGLE 0x34AF
|
||||
#define EGL_VULKAN_QUEUE_FAMILIY_INDEX_ANGLE 0x34D0
|
||||
#define EGL_VULKAN_GET_INSTANCE_PROC_ADDR 0x34D1
|
||||
#endif /* EGL_ANGLE_device_vulkan */
|
||||
|
||||
#ifndef EGL_ANGLE_vulkan_image
|
||||
#define EGL_ANGLE_vulkan_image
|
||||
#define EGL_VULKAN_IMAGE_ANGLE 0x34D3
|
||||
#define EGL_VULKAN_IMAGE_CREATE_INFO_HI_ANGLE 0x34D4
|
||||
#define EGL_VULKAN_IMAGE_CREATE_INFO_LO_ANGLE 0x34D5
|
||||
typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTVKIMAGEANGLEPROC)(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI EGLBoolean EGLAPIENTRY eglExportVkImageANGLE(EGLDisplay dpy, EGLImage image, void* vk_image, void* vk_image_create_info);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_vulkan_image */
|
||||
|
||||
#ifndef EGL_ANGLE_metal_shared_event_sync
|
||||
#define EGL_ANGLE_metal_hared_event_sync 1
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_ANGLE 0x34D8
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_OBJECT_ANGLE 0x34D9
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_LO_ANGLE 0x34DA
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNAL_VALUE_HI_ANGLE 0x34DB
|
||||
#define EGL_SYNC_METAL_SHARED_EVENT_SIGNALED_ANGLE 0x34DC
|
||||
typedef void* (EGLAPIENTRYP PFNEGLCOPYMETALSHAREDEVENTANGLEPROC)(EGLDisplay dpy, EGLSync sync);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void *EGLAPIENTRY eglCopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSync sync);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_metal_shared_event_sync */
|
||||
|
||||
#ifndef EGL_ANGLE_global_fence_sync
|
||||
#define EGL_ANGLE_global_fence_sync 1
|
||||
#define EGL_SYNC_GLOBAL_FENCE_ANGLE 0x34DE
|
||||
#endif /* EGL_ANGLE_global_fence_sync */
|
||||
|
||||
#ifndef EGL_ANGLE_no_error
|
||||
#define EGL_ANGLE_no_error 1
|
||||
typedef void (EGLAPIENTRYP PFNEGLSETVALIDATIONENABLEDANGLEPROC)(EGLBoolean validationState);
|
||||
#ifdef EGL_EGLEXT_PROTOTYPES
|
||||
EGLAPI void EGLAPIENTRY eglSetValidationEnabledANGLE(EGLBoolean validationState);
|
||||
#endif
|
||||
#endif /* EGL_ANGLE_no_error */
|
||||
|
||||
// clang-format on
|
||||
|
||||
#endif // INCLUDE_EGL_EGLEXT_ANGLE_
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
#ifndef __eglplatform_h_
|
||||
#define __eglplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2007-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for egl.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* You are encouraged to submit all modifications to the Khronos group so that
|
||||
* they can be included in future versions of this file. Please submit changes
|
||||
* by filing an issue or pull request on the public Khronos EGL Registry, at
|
||||
* https://www.github.com/KhronosGroup/EGL-Registry/
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
/* Macros used in EGL function prototype declarations.
|
||||
*
|
||||
* EGL functions should be prototyped as:
|
||||
*
|
||||
* EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
||||
* typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
||||
*
|
||||
* KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
||||
*/
|
||||
|
||||
#ifndef EGLAPI
|
||||
#define EGLAPI KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef EGLAPIENTRY
|
||||
#define EGLAPIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
#define EGLAPIENTRYP EGLAPIENTRY*
|
||||
|
||||
/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
||||
* are aliases of window-system-dependent types, such as X Display * or
|
||||
* Windows Device Context. They must be defined in platform-specific
|
||||
* code below. The EGL-prefixed versions of Native*Type are the same
|
||||
* types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
||||
*
|
||||
* Khronos STRONGLY RECOMMENDS that you use the default definitions
|
||||
* provided below, since these changes affect both binary and source
|
||||
* portability of applications using EGL running on different EGL
|
||||
* implementations.
|
||||
*/
|
||||
|
||||
#if defined(EGL_NO_PLATFORM_SPECIFIC_TYPES)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
||||
#ifndef WIN32_LEAN_AND_MEAN
|
||||
#define WIN32_LEAN_AND_MEAN 1
|
||||
#endif
|
||||
#include <windows.h>
|
||||
|
||||
typedef HDC EGLNativeDisplayType;
|
||||
typedef HBITMAP EGLNativePixmapType;
|
||||
|
||||
#if !defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP) /* Windows Desktop */
|
||||
typedef HWND EGLNativeWindowType;
|
||||
#else /* Windows Store */
|
||||
#include <inspectable.h>
|
||||
typedef IInspectable* EGLNativeWindowType;
|
||||
#endif
|
||||
|
||||
#elif defined(__EMSCRIPTEN__)
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef int EGLNativePixmapType;
|
||||
typedef int EGLNativeWindowType;
|
||||
|
||||
#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(WL_EGL_PLATFORM)
|
||||
|
||||
typedef struct wl_display *EGLNativeDisplayType;
|
||||
typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
||||
typedef struct wl_egl_window *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__GBM__)
|
||||
|
||||
typedef struct gbm_device *EGLNativeDisplayType;
|
||||
typedef struct gbm_bo *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__ANDROID__) || defined(ANDROID)
|
||||
|
||||
struct ANativeWindow;
|
||||
struct egl_native_pixmap_t;
|
||||
|
||||
typedef void* EGLNativeDisplayType;
|
||||
typedef struct egl_native_pixmap_t* EGLNativePixmapType;
|
||||
typedef struct ANativeWindow* EGLNativeWindowType;
|
||||
|
||||
#elif defined(USE_OZONE)
|
||||
|
||||
typedef intptr_t EGLNativeDisplayType;
|
||||
typedef intptr_t EGLNativePixmapType;
|
||||
typedef intptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(USE_X11)
|
||||
|
||||
/* X11 (tentative) */
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
|
||||
typedef Display *EGLNativeDisplayType;
|
||||
typedef Pixmap EGLNativePixmapType;
|
||||
typedef Window EGLNativeWindowType;
|
||||
|
||||
#elif defined(__unix__)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
|
||||
typedef int EGLNativeDisplayType;
|
||||
typedef void *EGLNativePixmapType;
|
||||
typedef void *EGLNativeWindowType;
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
|
||||
#include <kernel/image.h>
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__Fuchsia__)
|
||||
|
||||
typedef void *EGLNativeDisplayType;
|
||||
typedef khronos_uintptr_t EGLNativePixmapType;
|
||||
typedef khronos_uintptr_t EGLNativeWindowType;
|
||||
|
||||
#elif defined(__QNX__)
|
||||
|
||||
typedef khronos_uintptr_t EGLNativeDisplayType;
|
||||
typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */
|
||||
typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */
|
||||
|
||||
#else
|
||||
#error "Platform not recognized"
|
||||
#endif
|
||||
|
||||
/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||
typedef EGLNativeDisplayType NativeDisplayType;
|
||||
typedef EGLNativePixmapType NativePixmapType;
|
||||
typedef EGLNativeWindowType NativeWindowType;
|
||||
|
||||
|
||||
/* Define EGLint. This must be a signed integral type large enough to contain
|
||||
* all legal attribute names and values passed into and out of EGL, whether
|
||||
* their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
||||
* handle, or other. While in general a 32-bit integer will suffice, if
|
||||
* handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
||||
* integer type.
|
||||
*/
|
||||
typedef khronos_int32_t EGLint;
|
||||
|
||||
|
||||
/* C++ / C typecast macros for special EGL handle values */
|
||||
#if defined(__cplusplus)
|
||||
#define EGL_CAST(type, value) (static_cast<type>(value))
|
||||
#else
|
||||
#define EGL_CAST(type, value) ((type) (value))
|
||||
#endif
|
||||
|
||||
#endif /* __eglplatform_h */
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# ANGLE GLES 1.0 Headers
|
||||
|
||||
The GLES 1.0 headers ANGLE uses are generated using the Khronos tools but modified to include function pointer types and function prototype guards.
|
||||
|
||||
### Regenerating gl.h
|
||||
|
||||
1. Install **Python 3** (not 2) with the **lxml** addon. You can do this using `pip install lxml` from your Python's Scripts folder.
|
||||
1. Clone [https://github.com/KhronosGroup/OpenGL-Registry.git](https://github.com/KhronosGroup/OpenGL-Registry.git).
|
||||
1. Edit `OpenGL-Registry/xml/genheaders.py`:
|
||||
|
||||
1. Look for the section titled `# GLES 1.x API + mandatory extensions - GLES/gl.h (no function pointers)`
|
||||
1. Change `prefixText = prefixStrings + gles1PlatformStrings + genDateCommentString,` to `prefixText = prefixStrings + gles1PlatformStrings + apiEntryPrefixStrings + genDateCommentString,`
|
||||
1. Change `genFuncPointers = False,` to `genFuncPointers = True,`
|
||||
1. Change `protectProto = False,` to `protectProto = 'nonzero',`
|
||||
1. Change `protectProtoStr = 'GL_GLEXT_PROTOTYPES',` to `protectProtoStr = 'GL_GLES_PROTOTYPES',`
|
||||
|
||||
1. Set your working directory to `OpenGL-Registry/xml/`.
|
||||
1. Run `python genheaders.py ../api/GLES/gl.h`
|
||||
1. The generated header will now be in `OpenGL-Registry/api/GLES/gl.h`. You can copy the header over to this folder.
|
||||
1. Also update `scripts/gl.xml` with the latest version from `OpenGL-Registry/xml/`.
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
** Copyright (c) 2008-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Skeleton egl.h to provide compatibility for early GLES 1.0
|
||||
* applications. Several early implementations included gl.h
|
||||
* in egl.h leading applications to include only egl.h
|
||||
*/
|
||||
|
||||
#ifndef __legacy_egl_h_
|
||||
#define __legacy_egl_h_
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
#include <MetalANGLEKit/GLES/gl.h>
|
||||
#else
|
||||
#include <EGL/egl.h>
|
||||
#include <GLES/gl.h>
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* __legacy_egl_h_ */
|
||||
+753
@@ -0,0 +1,753 @@
|
||||
#ifndef __gles1_gl_h_
|
||||
#define __gles1_gl_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
/*
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/GLES/glplatform.h>
|
||||
#else
|
||||
#include <GLES/glplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
/* Generated on date 20181204 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles1
|
||||
* Profile: common
|
||||
* Versions considered: .*
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: ^(GL_OES_read_format|GL_OES_compressed_paletted_texture|GL_OES_point_size_array|GL_OES_point_sprite)$
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef GL_VERSION_ES_CM_1_0
|
||||
#define GL_VERSION_ES_CM_1_0 1
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
typedef khronos_int8_t GLbyte;
|
||||
typedef khronos_float_t GLclampf;
|
||||
typedef khronos_int16_t GLshort;
|
||||
typedef khronos_uint16_t GLushort;
|
||||
typedef void GLvoid;
|
||||
typedef unsigned int GLenum;
|
||||
typedef khronos_float_t GLfloat;
|
||||
typedef khronos_int32_t GLfixed;
|
||||
typedef unsigned int GLuint;
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
typedef unsigned int GLbitfield;
|
||||
typedef int GLint;
|
||||
typedef khronos_uint8_t GLubyte;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef int GLsizei;
|
||||
typedef khronos_int32_t GLclampx;
|
||||
#define GL_VERSION_ES_CL_1_0 1
|
||||
#define GL_VERSION_ES_CM_1_1 1
|
||||
#define GL_VERSION_ES_CL_1_1 1
|
||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||
#define GL_FALSE 0
|
||||
#define GL_TRUE 1
|
||||
#define GL_POINTS 0x0000
|
||||
#define GL_LINES 0x0001
|
||||
#define GL_LINE_LOOP 0x0002
|
||||
#define GL_LINE_STRIP 0x0003
|
||||
#define GL_TRIANGLES 0x0004
|
||||
#define GL_TRIANGLE_STRIP 0x0005
|
||||
#define GL_TRIANGLE_FAN 0x0006
|
||||
#define GL_NEVER 0x0200
|
||||
#define GL_LESS 0x0201
|
||||
#define GL_EQUAL 0x0202
|
||||
#define GL_LEQUAL 0x0203
|
||||
#define GL_GREATER 0x0204
|
||||
#define GL_NOTEQUAL 0x0205
|
||||
#define GL_GEQUAL 0x0206
|
||||
#define GL_ALWAYS 0x0207
|
||||
#define GL_ZERO 0
|
||||
#define GL_ONE 1
|
||||
#define GL_SRC_COLOR 0x0300
|
||||
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
||||
#define GL_SRC_ALPHA 0x0302
|
||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
#define GL_CLIP_PLANE0 0x3000
|
||||
#define GL_CLIP_PLANE1 0x3001
|
||||
#define GL_CLIP_PLANE2 0x3002
|
||||
#define GL_CLIP_PLANE3 0x3003
|
||||
#define GL_CLIP_PLANE4 0x3004
|
||||
#define GL_CLIP_PLANE5 0x3005
|
||||
#define GL_FRONT 0x0404
|
||||
#define GL_BACK 0x0405
|
||||
#define GL_FRONT_AND_BACK 0x0408
|
||||
#define GL_FOG 0x0B60
|
||||
#define GL_LIGHTING 0x0B50
|
||||
#define GL_TEXTURE_2D 0x0DE1
|
||||
#define GL_CULL_FACE 0x0B44
|
||||
#define GL_ALPHA_TEST 0x0BC0
|
||||
#define GL_BLEND 0x0BE2
|
||||
#define GL_COLOR_LOGIC_OP 0x0BF2
|
||||
#define GL_DITHER 0x0BD0
|
||||
#define GL_STENCIL_TEST 0x0B90
|
||||
#define GL_DEPTH_TEST 0x0B71
|
||||
#define GL_POINT_SMOOTH 0x0B10
|
||||
#define GL_LINE_SMOOTH 0x0B20
|
||||
#define GL_SCISSOR_TEST 0x0C11
|
||||
#define GL_COLOR_MATERIAL 0x0B57
|
||||
#define GL_NORMALIZE 0x0BA1
|
||||
#define GL_RESCALE_NORMAL 0x803A
|
||||
#define GL_VERTEX_ARRAY 0x8074
|
||||
#define GL_NORMAL_ARRAY 0x8075
|
||||
#define GL_COLOR_ARRAY 0x8076
|
||||
#define GL_TEXTURE_COORD_ARRAY 0x8078
|
||||
#define GL_MULTISAMPLE 0x809D
|
||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||
#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
|
||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
#define GL_INVALID_OPERATION 0x0502
|
||||
#define GL_STACK_OVERFLOW 0x0503
|
||||
#define GL_STACK_UNDERFLOW 0x0504
|
||||
#define GL_OUT_OF_MEMORY 0x0505
|
||||
#define GL_EXP 0x0800
|
||||
#define GL_EXP2 0x0801
|
||||
#define GL_FOG_DENSITY 0x0B62
|
||||
#define GL_FOG_START 0x0B63
|
||||
#define GL_FOG_END 0x0B64
|
||||
#define GL_FOG_MODE 0x0B65
|
||||
#define GL_FOG_COLOR 0x0B66
|
||||
#define GL_CW 0x0900
|
||||
#define GL_CCW 0x0901
|
||||
#define GL_CURRENT_COLOR 0x0B00
|
||||
#define GL_CURRENT_NORMAL 0x0B02
|
||||
#define GL_CURRENT_TEXTURE_COORDS 0x0B03
|
||||
#define GL_POINT_SIZE 0x0B11
|
||||
#define GL_POINT_SIZE_MIN 0x8126
|
||||
#define GL_POINT_SIZE_MAX 0x8127
|
||||
#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
|
||||
#define GL_POINT_DISTANCE_ATTENUATION 0x8129
|
||||
#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
|
||||
#define GL_LINE_WIDTH 0x0B21
|
||||
#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
|
||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||
#define GL_CULL_FACE_MODE 0x0B45
|
||||
#define GL_FRONT_FACE 0x0B46
|
||||
#define GL_SHADE_MODEL 0x0B54
|
||||
#define GL_DEPTH_RANGE 0x0B70
|
||||
#define GL_DEPTH_WRITEMASK 0x0B72
|
||||
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
||||
#define GL_DEPTH_FUNC 0x0B74
|
||||
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
||||
#define GL_STENCIL_FUNC 0x0B92
|
||||
#define GL_STENCIL_VALUE_MASK 0x0B93
|
||||
#define GL_STENCIL_FAIL 0x0B94
|
||||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
||||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
||||
#define GL_STENCIL_REF 0x0B97
|
||||
#define GL_STENCIL_WRITEMASK 0x0B98
|
||||
#define GL_MATRIX_MODE 0x0BA0
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
|
||||
#define GL_PROJECTION_STACK_DEPTH 0x0BA4
|
||||
#define GL_TEXTURE_STACK_DEPTH 0x0BA5
|
||||
#define GL_MODELVIEW_MATRIX 0x0BA6
|
||||
#define GL_PROJECTION_MATRIX 0x0BA7
|
||||
#define GL_TEXTURE_MATRIX 0x0BA8
|
||||
#define GL_ALPHA_TEST_FUNC 0x0BC1
|
||||
#define GL_ALPHA_TEST_REF 0x0BC2
|
||||
#define GL_BLEND_DST 0x0BE0
|
||||
#define GL_BLEND_SRC 0x0BE1
|
||||
#define GL_LOGIC_OP_MODE 0x0BF0
|
||||
#define GL_SCISSOR_BOX 0x0C10
|
||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||
#define GL_COLOR_WRITEMASK 0x0C23
|
||||
#define GL_MAX_LIGHTS 0x0D31
|
||||
#define GL_MAX_CLIP_PLANES 0x0D32
|
||||
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
||||
#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
|
||||
#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
|
||||
#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
|
||||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
||||
#define GL_MAX_TEXTURE_UNITS 0x84E2
|
||||
#define GL_SUBPIXEL_BITS 0x0D50
|
||||
#define GL_RED_BITS 0x0D52
|
||||
#define GL_GREEN_BITS 0x0D53
|
||||
#define GL_BLUE_BITS 0x0D54
|
||||
#define GL_ALPHA_BITS 0x0D55
|
||||
#define GL_DEPTH_BITS 0x0D56
|
||||
#define GL_STENCIL_BITS 0x0D57
|
||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||
#define GL_VERTEX_ARRAY_SIZE 0x807A
|
||||
#define GL_VERTEX_ARRAY_TYPE 0x807B
|
||||
#define GL_VERTEX_ARRAY_STRIDE 0x807C
|
||||
#define GL_NORMAL_ARRAY_TYPE 0x807E
|
||||
#define GL_NORMAL_ARRAY_STRIDE 0x807F
|
||||
#define GL_COLOR_ARRAY_SIZE 0x8081
|
||||
#define GL_COLOR_ARRAY_TYPE 0x8082
|
||||
#define GL_COLOR_ARRAY_STRIDE 0x8083
|
||||
#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
|
||||
#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
|
||||
#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
|
||||
#define GL_VERTEX_ARRAY_POINTER 0x808E
|
||||
#define GL_NORMAL_ARRAY_POINTER 0x808F
|
||||
#define GL_COLOR_ARRAY_POINTER 0x8090
|
||||
#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
|
||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||
#define GL_SAMPLES 0x80A9
|
||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||
#define GL_DONT_CARE 0x1100
|
||||
#define GL_FASTEST 0x1101
|
||||
#define GL_NICEST 0x1102
|
||||
#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
|
||||
#define GL_POINT_SMOOTH_HINT 0x0C51
|
||||
#define GL_LINE_SMOOTH_HINT 0x0C52
|
||||
#define GL_FOG_HINT 0x0C54
|
||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||
#define GL_LIGHT_MODEL_AMBIENT 0x0B53
|
||||
#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
|
||||
#define GL_AMBIENT 0x1200
|
||||
#define GL_DIFFUSE 0x1201
|
||||
#define GL_SPECULAR 0x1202
|
||||
#define GL_POSITION 0x1203
|
||||
#define GL_SPOT_DIRECTION 0x1204
|
||||
#define GL_SPOT_EXPONENT 0x1205
|
||||
#define GL_SPOT_CUTOFF 0x1206
|
||||
#define GL_CONSTANT_ATTENUATION 0x1207
|
||||
#define GL_LINEAR_ATTENUATION 0x1208
|
||||
#define GL_QUADRATIC_ATTENUATION 0x1209
|
||||
#define GL_BYTE 0x1400
|
||||
#define GL_UNSIGNED_BYTE 0x1401
|
||||
#define GL_SHORT 0x1402
|
||||
#define GL_UNSIGNED_SHORT 0x1403
|
||||
#define GL_FLOAT 0x1406
|
||||
#define GL_FIXED 0x140C
|
||||
#define GL_CLEAR 0x1500
|
||||
#define GL_AND 0x1501
|
||||
#define GL_AND_REVERSE 0x1502
|
||||
#define GL_COPY 0x1503
|
||||
#define GL_AND_INVERTED 0x1504
|
||||
#define GL_NOOP 0x1505
|
||||
#define GL_XOR 0x1506
|
||||
#define GL_OR 0x1507
|
||||
#define GL_NOR 0x1508
|
||||
#define GL_EQUIV 0x1509
|
||||
#define GL_INVERT 0x150A
|
||||
#define GL_OR_REVERSE 0x150B
|
||||
#define GL_COPY_INVERTED 0x150C
|
||||
#define GL_OR_INVERTED 0x150D
|
||||
#define GL_NAND 0x150E
|
||||
#define GL_SET 0x150F
|
||||
#define GL_EMISSION 0x1600
|
||||
#define GL_SHININESS 0x1601
|
||||
#define GL_AMBIENT_AND_DIFFUSE 0x1602
|
||||
#define GL_MODELVIEW 0x1700
|
||||
#define GL_PROJECTION 0x1701
|
||||
#define GL_TEXTURE 0x1702
|
||||
#define GL_ALPHA 0x1906
|
||||
#define GL_RGB 0x1907
|
||||
#define GL_RGBA 0x1908
|
||||
#define GL_LUMINANCE 0x1909
|
||||
#define GL_LUMINANCE_ALPHA 0x190A
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_PACK_ALIGNMENT 0x0D05
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||
#define GL_FLAT 0x1D00
|
||||
#define GL_SMOOTH 0x1D01
|
||||
#define GL_KEEP 0x1E00
|
||||
#define GL_REPLACE 0x1E01
|
||||
#define GL_INCR 0x1E02
|
||||
#define GL_DECR 0x1E03
|
||||
#define GL_VENDOR 0x1F00
|
||||
#define GL_RENDERER 0x1F01
|
||||
#define GL_VERSION 0x1F02
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
#define GL_MODULATE 0x2100
|
||||
#define GL_DECAL 0x2101
|
||||
#define GL_ADD 0x0104
|
||||
#define GL_TEXTURE_ENV_MODE 0x2200
|
||||
#define GL_TEXTURE_ENV_COLOR 0x2201
|
||||
#define GL_TEXTURE_ENV 0x2300
|
||||
#define GL_NEAREST 0x2600
|
||||
#define GL_LINEAR 0x2601
|
||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||
#define GL_TEXTURE_WRAP_S 0x2802
|
||||
#define GL_TEXTURE_WRAP_T 0x2803
|
||||
#define GL_GENERATE_MIPMAP 0x8191
|
||||
#define GL_TEXTURE0 0x84C0
|
||||
#define GL_TEXTURE1 0x84C1
|
||||
#define GL_TEXTURE2 0x84C2
|
||||
#define GL_TEXTURE3 0x84C3
|
||||
#define GL_TEXTURE4 0x84C4
|
||||
#define GL_TEXTURE5 0x84C5
|
||||
#define GL_TEXTURE6 0x84C6
|
||||
#define GL_TEXTURE7 0x84C7
|
||||
#define GL_TEXTURE8 0x84C8
|
||||
#define GL_TEXTURE9 0x84C9
|
||||
#define GL_TEXTURE10 0x84CA
|
||||
#define GL_TEXTURE11 0x84CB
|
||||
#define GL_TEXTURE12 0x84CC
|
||||
#define GL_TEXTURE13 0x84CD
|
||||
#define GL_TEXTURE14 0x84CE
|
||||
#define GL_TEXTURE15 0x84CF
|
||||
#define GL_TEXTURE16 0x84D0
|
||||
#define GL_TEXTURE17 0x84D1
|
||||
#define GL_TEXTURE18 0x84D2
|
||||
#define GL_TEXTURE19 0x84D3
|
||||
#define GL_TEXTURE20 0x84D4
|
||||
#define GL_TEXTURE21 0x84D5
|
||||
#define GL_TEXTURE22 0x84D6
|
||||
#define GL_TEXTURE23 0x84D7
|
||||
#define GL_TEXTURE24 0x84D8
|
||||
#define GL_TEXTURE25 0x84D9
|
||||
#define GL_TEXTURE26 0x84DA
|
||||
#define GL_TEXTURE27 0x84DB
|
||||
#define GL_TEXTURE28 0x84DC
|
||||
#define GL_TEXTURE29 0x84DD
|
||||
#define GL_TEXTURE30 0x84DE
|
||||
#define GL_TEXTURE31 0x84DF
|
||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
|
||||
#define GL_REPEAT 0x2901
|
||||
#define GL_CLAMP_TO_EDGE 0x812F
|
||||
#define GL_LIGHT0 0x4000
|
||||
#define GL_LIGHT1 0x4001
|
||||
#define GL_LIGHT2 0x4002
|
||||
#define GL_LIGHT3 0x4003
|
||||
#define GL_LIGHT4 0x4004
|
||||
#define GL_LIGHT5 0x4005
|
||||
#define GL_LIGHT6 0x4006
|
||||
#define GL_LIGHT7 0x4007
|
||||
#define GL_ARRAY_BUFFER 0x8892
|
||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||
#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
|
||||
#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
|
||||
#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
|
||||
#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
|
||||
#define GL_STATIC_DRAW 0x88E4
|
||||
#define GL_DYNAMIC_DRAW 0x88E8
|
||||
#define GL_BUFFER_SIZE 0x8764
|
||||
#define GL_BUFFER_USAGE 0x8765
|
||||
#define GL_SUBTRACT 0x84E7
|
||||
#define GL_COMBINE 0x8570
|
||||
#define GL_COMBINE_RGB 0x8571
|
||||
#define GL_COMBINE_ALPHA 0x8572
|
||||
#define GL_RGB_SCALE 0x8573
|
||||
#define GL_ADD_SIGNED 0x8574
|
||||
#define GL_INTERPOLATE 0x8575
|
||||
#define GL_CONSTANT 0x8576
|
||||
#define GL_PRIMARY_COLOR 0x8577
|
||||
#define GL_PREVIOUS 0x8578
|
||||
#define GL_OPERAND0_RGB 0x8590
|
||||
#define GL_OPERAND1_RGB 0x8591
|
||||
#define GL_OPERAND2_RGB 0x8592
|
||||
#define GL_OPERAND0_ALPHA 0x8598
|
||||
#define GL_OPERAND1_ALPHA 0x8599
|
||||
#define GL_OPERAND2_ALPHA 0x859A
|
||||
#define GL_ALPHA_SCALE 0x0D1C
|
||||
#define GL_SRC0_RGB 0x8580
|
||||
#define GL_SRC1_RGB 0x8581
|
||||
#define GL_SRC2_RGB 0x8582
|
||||
#define GL_SRC0_ALPHA 0x8588
|
||||
#define GL_SRC1_ALPHA 0x8589
|
||||
#define GL_SRC2_ALPHA 0x858A
|
||||
#define GL_DOT3_RGB 0x86AE
|
||||
#define GL_DOT3_RGBA 0x86AF
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCPROC) (GLenum func, GLfloat ref);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFPROC) (GLenum p, const GLfloat *eqn);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4FPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFPROC) (GLenum plane, GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTFVPROC) (GLenum light, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALFVPROC) (GLenum face, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTFPROC) (GLenum light, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTFVPROC) (GLenum light, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXFPROC) (const GLfloat *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALFPROC) (GLenum face, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALFVPROC) (GLenum face, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXFPROC) (const GLfloat *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3FPROC) (GLfloat nx, GLfloat ny, GLfloat nz);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOFPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEPROC) (GLfloat size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEFPROC) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEFPROC) (GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEFPROC) (GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCXPROC) (GLenum func, GLfixed ref);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORXPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXPROC) (GLfixed depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXPROC) (GLenum plane, const GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4UBPROC) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4XPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXPROC) (GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLECLIENTSTATEPROC) (GLenum array);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLECLIENTSTATEPROC) (GLenum array);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXVPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXPROC) (GLenum plane, GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFIXEDVPROC) (GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTXVPROC) (GLenum light, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALXVPROC) (GLenum face, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPOINTERVPROC) (GLenum pname, void **params);
|
||||
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVXVPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXPROC) (GLenum light, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXVPROC) (GLenum light, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHXPROC) (GLfixed width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADIDENTITYPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXXPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLLOGICOPPROC) (GLenum opcode);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXPROC) (GLenum face, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXVPROC) (GLenum face, GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATRIXMODEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXXPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3XPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMALPOINTERPROC) (GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOXPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVPROC) (GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEXPROC) (GLfixed size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXPROC) (GLfixed factor, GLfixed units);
|
||||
typedef void (GL_APIENTRYP PFNGLPOPMATRIXPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLPUSHMATRIXPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEXPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXPROC) (GLclampx value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEXPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADEMODELPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXCOORDPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXVPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEXPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLfloat ref);
|
||||
GL_API void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthf (GLfloat d);
|
||||
GL_API void GL_APIENTRY glClipPlanef (GLenum p, const GLfloat *eqn);
|
||||
GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_API void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glFrustumf (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanef (GLenum plane, GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
|
||||
GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glLineWidth (GLfloat width);
|
||||
GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m);
|
||||
GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
|
||||
GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
|
||||
GL_API void GL_APIENTRY glOrthof (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glPointSize (GLfloat size);
|
||||
GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
||||
GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_API void GL_APIENTRY glActiveTexture (GLenum texture);
|
||||
GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLfixed ref);
|
||||
GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
||||
GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
||||
GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
||||
GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GL_API void GL_APIENTRY glClear (GLbitfield mask);
|
||||
GL_API void GL_APIENTRY glClearColorx (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthx (GLfixed depth);
|
||||
GL_API void GL_APIENTRY glClearStencil (GLint s);
|
||||
GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture);
|
||||
GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
|
||||
GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glCullFace (GLenum mode);
|
||||
GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
|
||||
GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
|
||||
GL_API void GL_APIENTRY glDepthFunc (GLenum func);
|
||||
GL_API void GL_APIENTRY glDepthMask (GLboolean flag);
|
||||
GL_API void GL_APIENTRY glDepthRangex (GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glDisable (GLenum cap);
|
||||
GL_API void GL_APIENTRY glDisableClientState (GLenum array);
|
||||
GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
||||
GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
GL_API void GL_APIENTRY glEnable (GLenum cap);
|
||||
GL_API void GL_APIENTRY glEnableClientState (GLenum array);
|
||||
GL_API void GL_APIENTRY glFinish (void);
|
||||
GL_API void GL_APIENTRY glFlush (void);
|
||||
GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glFrontFace (GLenum mode);
|
||||
GL_API void GL_APIENTRY glFrustumx (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
|
||||
GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetClipPlanex (GLenum plane, GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
|
||||
GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
|
||||
GL_API GLenum GL_APIENTRY glGetError (void);
|
||||
GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
||||
GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetPointerv (GLenum pname, void **params);
|
||||
GL_API const GLubyte *GL_APIENTRY glGetString (GLenum name);
|
||||
GL_API void GL_APIENTRY glGetTexEnviv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvxv (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
||||
GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
||||
GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
||||
GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
||||
GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLineWidthx (GLfixed width);
|
||||
GL_API void GL_APIENTRY glLoadIdentity (void);
|
||||
GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glLogicOp (GLenum opcode);
|
||||
GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glMatrixMode (GLenum mode);
|
||||
GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glOrthox (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointSizex (GLfixed size);
|
||||
GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units);
|
||||
GL_API void GL_APIENTRY glPopMatrix (void);
|
||||
GL_API void GL_APIENTRY glPushMatrix (void);
|
||||
GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glShadeModel (GLenum mode);
|
||||
GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
||||
GL_API void GL_APIENTRY glStencilMask (GLuint mask);
|
||||
GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#endif
|
||||
#endif /* GL_VERSION_ES_CM_1_0 */
|
||||
|
||||
#ifndef GL_OES_compressed_paletted_texture
|
||||
#define GL_OES_compressed_paletted_texture 1
|
||||
#define GL_PALETTE4_RGB8_OES 0x8B90
|
||||
#define GL_PALETTE4_RGBA8_OES 0x8B91
|
||||
#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
|
||||
#define GL_PALETTE4_RGBA4_OES 0x8B93
|
||||
#define GL_PALETTE4_RGB5_A1_OES 0x8B94
|
||||
#define GL_PALETTE8_RGB8_OES 0x8B95
|
||||
#define GL_PALETTE8_RGBA8_OES 0x8B96
|
||||
#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
|
||||
#define GL_PALETTE8_RGBA4_OES 0x8B98
|
||||
#define GL_PALETTE8_RGB5_A1_OES 0x8B99
|
||||
#endif /* GL_OES_compressed_paletted_texture */
|
||||
|
||||
#ifndef GL_OES_point_size_array
|
||||
#define GL_OES_point_size_array 1
|
||||
#define GL_POINT_SIZE_ARRAY_OES 0x8B9C
|
||||
#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A
|
||||
#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B
|
||||
#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C
|
||||
#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEPOINTEROESPROC) (GLenum type, GLsizei stride, const void *pointer);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const void *pointer);
|
||||
#endif
|
||||
#endif /* GL_OES_point_size_array */
|
||||
|
||||
#ifndef GL_OES_point_sprite
|
||||
#define GL_OES_point_sprite 1
|
||||
#define GL_POINT_SPRITE_OES 0x8861
|
||||
#define GL_COORD_REPLACE_OES 0x8862
|
||||
#endif /* GL_OES_point_sprite */
|
||||
|
||||
#ifndef GL_OES_read_format
|
||||
#define GL_OES_read_format 1
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
|
||||
#endif /* GL_OES_read_format */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+962
@@ -0,0 +1,962 @@
|
||||
#ifndef __glext_h_
|
||||
#define __glext_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright (c) 2013-2017 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
/*
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
/* Generated on date 20171212 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles1
|
||||
* Profile: common
|
||||
* Versions considered: .*
|
||||
* Versions emitted: _nomatch_^
|
||||
* Default extensions included: gles1
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: ^(GL_OES_read_format|GL_OES_compressed_paletted_texture|GL_OES_point_size_array|GL_OES_point_sprite)$
|
||||
*/
|
||||
|
||||
#ifndef GL_OES_EGL_image
|
||||
#define GL_OES_EGL_image 1
|
||||
typedef void *GLeglImageOES;
|
||||
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
|
||||
typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
|
||||
GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
|
||||
#endif
|
||||
#endif /* GL_OES_EGL_image */
|
||||
|
||||
#ifndef GL_OES_blend_equation_separate
|
||||
#define GL_OES_blend_equation_separate 1
|
||||
#define GL_BLEND_EQUATION_RGB_OES 0x8009
|
||||
#define GL_BLEND_EQUATION_ALPHA_OES 0x883D
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEOESPROC) (GLenum modeRGB, GLenum modeAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendEquationSeparateOES (GLenum modeRGB, GLenum modeAlpha);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_equation_separate */
|
||||
|
||||
#ifndef GL_OES_blend_func_separate
|
||||
#define GL_OES_blend_func_separate 1
|
||||
#define GL_BLEND_DST_RGB_OES 0x80C8
|
||||
#define GL_BLEND_SRC_RGB_OES 0x80C9
|
||||
#define GL_BLEND_DST_ALPHA_OES 0x80CA
|
||||
#define GL_BLEND_SRC_ALPHA_OES 0x80CB
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEOESPROC) (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendFuncSeparateOES (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_func_separate */
|
||||
|
||||
#ifndef GL_OES_blend_subtract
|
||||
#define GL_OES_blend_subtract 1
|
||||
#define GL_BLEND_EQUATION_OES 0x8009
|
||||
#define GL_FUNC_ADD_OES 0x8006
|
||||
#define GL_FUNC_SUBTRACT_OES 0x800A
|
||||
#define GL_FUNC_REVERSE_SUBTRACT_OES 0x800B
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONOESPROC) (GLenum mode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBlendEquationOES (GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_OES_blend_subtract */
|
||||
|
||||
#ifndef GL_OES_byte_coordinates
|
||||
#define GL_OES_byte_coordinates 1
|
||||
#endif /* GL_OES_byte_coordinates */
|
||||
|
||||
#ifndef GL_OES_compressed_ETC1_RGB8_sub_texture
|
||||
#define GL_OES_compressed_ETC1_RGB8_sub_texture 1
|
||||
#endif /* GL_OES_compressed_ETC1_RGB8_sub_texture */
|
||||
|
||||
#ifndef GL_OES_compressed_ETC1_RGB8_texture
|
||||
#define GL_OES_compressed_ETC1_RGB8_texture 1
|
||||
#define GL_ETC1_RGB8_OES 0x8D64
|
||||
#endif /* GL_OES_compressed_ETC1_RGB8_texture */
|
||||
|
||||
#ifndef GL_OES_depth24
|
||||
#define GL_OES_depth24 1
|
||||
#define GL_DEPTH_COMPONENT24_OES 0x81A6
|
||||
#endif /* GL_OES_depth24 */
|
||||
|
||||
#ifndef GL_OES_depth32
|
||||
#define GL_OES_depth32 1
|
||||
#define GL_DEPTH_COMPONENT32_OES 0x81A7
|
||||
#endif /* GL_OES_depth32 */
|
||||
|
||||
#ifndef GL_OES_draw_texture
|
||||
#define GL_OES_draw_texture 1
|
||||
#define GL_TEXTURE_CROP_RECT_OES 0x8B9D
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXSOESPROC) (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXIOESPROC) (GLint x, GLint y, GLint z, GLint width, GLint height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXXOESPROC) (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXSVOESPROC) (const GLshort *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXIVOESPROC) (const GLint *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXXVOESPROC) (const GLfixed *coords);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXFOESPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWTEXFVOESPROC) (const GLfloat *coords);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
|
||||
GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height);
|
||||
GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
|
||||
GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords);
|
||||
GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
|
||||
GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords);
|
||||
#endif
|
||||
#endif /* GL_OES_draw_texture */
|
||||
|
||||
#ifndef GL_OES_element_index_uint
|
||||
#define GL_OES_element_index_uint 1
|
||||
#define GL_UNSIGNED_INT 0x1405
|
||||
#endif /* GL_OES_element_index_uint */
|
||||
|
||||
#ifndef GL_OES_extended_matrix_palette
|
||||
#define GL_OES_extended_matrix_palette 1
|
||||
#endif /* GL_OES_extended_matrix_palette */
|
||||
|
||||
#ifndef GL_OES_fbo_render_mipmap
|
||||
#define GL_OES_fbo_render_mipmap 1
|
||||
#endif /* GL_OES_fbo_render_mipmap */
|
||||
|
||||
#ifndef GL_OES_fixed_point
|
||||
#define GL_OES_fixed_point 1
|
||||
#define GL_FIXED_OES 0x140C
|
||||
typedef void (GL_APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHXOESPROC) (GLfixed depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXOESPROC) (GLenum plane, const GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLOR4XOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEXOESPROC) (GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLFOGXVOESPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEXOESPROC) (GLenum plane, GLfixed *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFIXEDVOESPROC) (GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXENVXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTMODELXVOESPROC) (GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXOESPROC) (GLenum light, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLLIGHTXVOESPROC) (GLenum light, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHXOESPROC) (GLfixed width);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADMATRIXXOESPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXOESPROC) (GLenum face, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLMATERIALXVOESPROC) (GLenum face, GLenum pname, const GLfixed *param);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTMATRIXXOESPROC) (const GLfixed *m);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTITEXCOORD4XOESPROC) (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
typedef void (GL_APIENTRYP PFNGLNORMAL3XOESPROC) (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOXOESPROC) (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units);
|
||||
typedef void (GL_APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXOESPROC) (GLenum target, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTRANSLATEXOESPROC) (GLfixed x, GLfixed y, GLfixed z);
|
||||
typedef void (GL_APIENTRYP PFNGLGETLIGHTXVOESPROC) (GLenum light, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMATERIALXVOESPROC) (GLenum face, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLPOINTPARAMETERXOESPROC) (GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEXOESPROC) (GLclampx value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENXVOESPROC) (GLenum coord, GLenum pname, GLfixed *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENXOESPROC) (GLenum coord, GLenum pname, GLfixed param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENXVOESPROC) (GLenum coord, GLenum pname, const GLfixed *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glAlphaFuncxOES (GLenum func, GLfixed ref);
|
||||
GL_API void GL_APIENTRY glClearColorxOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glClearDepthxOES (GLfixed depth);
|
||||
GL_API void GL_APIENTRY glClipPlanexOES (GLenum plane, const GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glColor4xOES (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
|
||||
GL_API void GL_APIENTRY glDepthRangexOES (GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glFogxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glFogxvOES (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glFrustumxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanexOES (GLenum plane, GLfixed *equation);
|
||||
GL_API void GL_APIENTRY glGetFixedvOES (GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexEnvxvOES (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetTexParameterxvOES (GLenum target, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLightModelxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightModelxvOES (GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glLightxOES (GLenum light, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glLightxvOES (GLenum light, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glLineWidthxOES (GLfixed width);
|
||||
GL_API void GL_APIENTRY glLoadMatrixxOES (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMaterialxOES (GLenum face, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glMaterialxvOES (GLenum face, GLenum pname, const GLfixed *param);
|
||||
GL_API void GL_APIENTRY glMultMatrixxOES (const GLfixed *m);
|
||||
GL_API void GL_APIENTRY glMultiTexCoord4xOES (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
|
||||
GL_API void GL_APIENTRY glNormal3xOES (GLfixed nx, GLfixed ny, GLfixed nz);
|
||||
GL_API void GL_APIENTRY glOrthoxOES (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f);
|
||||
GL_API void GL_APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointSizexOES (GLfixed size);
|
||||
GL_API void GL_APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units);
|
||||
GL_API void GL_APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexParameterxOES (GLenum target, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexParameterxvOES (GLenum target, GLenum pname, const GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTranslatexOES (GLfixed x, GLfixed y, GLfixed z);
|
||||
GL_API void GL_APIENTRY glGetLightxvOES (GLenum light, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glGetMaterialxvOES (GLenum face, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glPointParameterxOES (GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glSampleCoveragexOES (GLclampx value, GLboolean invert);
|
||||
GL_API void GL_APIENTRY glGetTexGenxvOES (GLenum coord, GLenum pname, GLfixed *params);
|
||||
GL_API void GL_APIENTRY glTexGenxOES (GLenum coord, GLenum pname, GLfixed param);
|
||||
GL_API void GL_APIENTRY glTexGenxvOES (GLenum coord, GLenum pname, const GLfixed *params);
|
||||
#endif
|
||||
#endif /* GL_OES_fixed_point */
|
||||
|
||||
#ifndef GL_OES_framebuffer_object
|
||||
#define GL_OES_framebuffer_object 1
|
||||
#define GL_NONE_OES 0
|
||||
#define GL_FRAMEBUFFER_OES 0x8D40
|
||||
#define GL_RENDERBUFFER_OES 0x8D41
|
||||
#define GL_RGBA4_OES 0x8056
|
||||
#define GL_RGB5_A1_OES 0x8057
|
||||
#define GL_RGB565_OES 0x8D62
|
||||
#define GL_DEPTH_COMPONENT16_OES 0x81A5
|
||||
#define GL_RENDERBUFFER_WIDTH_OES 0x8D42
|
||||
#define GL_RENDERBUFFER_HEIGHT_OES 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT_OES 0x8D44
|
||||
#define GL_RENDERBUFFER_RED_SIZE_OES 0x8D50
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE_OES 0x8D51
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE_OES 0x8D52
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE_OES 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE_OES 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE_OES 0x8D55
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES 0x8CD2
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES 0x8CD3
|
||||
#define GL_COLOR_ATTACHMENT0_OES 0x8CE0
|
||||
#define GL_DEPTH_ATTACHMENT_OES 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT_OES 0x8D20
|
||||
#define GL_FRAMEBUFFER_COMPLETE_OES 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES 0x8CD9
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES 0x8CDA
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED_OES 0x8CDD
|
||||
#define GL_FRAMEBUFFER_BINDING_OES 0x8CA6
|
||||
#define GL_RENDERBUFFER_BINDING_OES 0x8CA7
|
||||
#define GL_MAX_RENDERBUFFER_SIZE_OES 0x84E8
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION_OES 0x0506
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFEROESPROC) (GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFEROESPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSOESPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSOESPROC) (GLsizei n, GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVOESPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFEROESPROC) (GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFEROESPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSOESPROC) (GLsizei n, const GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSOESPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSOESPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEROESPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPOESPROC) (GLenum target);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLboolean GL_APIENTRY glIsRenderbufferOES (GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glBindRenderbufferOES (GLenum target, GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glDeleteRenderbuffersOES (GLsizei n, const GLuint *renderbuffers);
|
||||
GL_API void GL_APIENTRY glGenRenderbuffersOES (GLsizei n, GLuint *renderbuffers);
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageOES (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glGetRenderbufferParameterivOES (GLenum target, GLenum pname, GLint *params);
|
||||
GL_API GLboolean GL_APIENTRY glIsFramebufferOES (GLuint framebuffer);
|
||||
GL_API void GL_APIENTRY glBindFramebufferOES (GLenum target, GLuint framebuffer);
|
||||
GL_API void GL_APIENTRY glDeleteFramebuffersOES (GLsizei n, const GLuint *framebuffers);
|
||||
GL_API void GL_APIENTRY glGenFramebuffersOES (GLsizei n, GLuint *framebuffers);
|
||||
GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES (GLenum target);
|
||||
GL_API void GL_APIENTRY glFramebufferRenderbufferOES (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glGenerateMipmapOES (GLenum target);
|
||||
#endif
|
||||
#endif /* GL_OES_framebuffer_object */
|
||||
|
||||
#ifndef GL_OES_mapbuffer
|
||||
#define GL_OES_mapbuffer 1
|
||||
#define GL_WRITE_ONLY_OES 0x88B9
|
||||
#define GL_BUFFER_ACCESS_OES 0x88BB
|
||||
#define GL_BUFFER_MAPPED_OES 0x88BC
|
||||
#define GL_BUFFER_MAP_POINTER_OES 0x88BD
|
||||
typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
|
||||
GL_API GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
|
||||
GL_API void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
|
||||
#endif
|
||||
#endif /* GL_OES_mapbuffer */
|
||||
|
||||
#ifndef GL_OES_matrix_get
|
||||
#define GL_OES_matrix_get 1
|
||||
#define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D
|
||||
#define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E
|
||||
#define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F
|
||||
#endif /* GL_OES_matrix_get */
|
||||
|
||||
#ifndef GL_OES_matrix_palette
|
||||
#define GL_OES_matrix_palette 1
|
||||
#define GL_MAX_VERTEX_UNITS_OES 0x86A4
|
||||
#define GL_MAX_PALETTE_MATRICES_OES 0x8842
|
||||
#define GL_MATRIX_PALETTE_OES 0x8840
|
||||
#define GL_MATRIX_INDEX_ARRAY_OES 0x8844
|
||||
#define GL_WEIGHT_ARRAY_OES 0x86AD
|
||||
#define GL_CURRENT_PALETTE_MATRIX_OES 0x8843
|
||||
#define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846
|
||||
#define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847
|
||||
#define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848
|
||||
#define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849
|
||||
#define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E
|
||||
#define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB
|
||||
#define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9
|
||||
#define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA
|
||||
#define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC
|
||||
#define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E
|
||||
typedef void (GL_APIENTRYP PFNGLCURRENTPALETTEMATRIXOESPROC) (GLuint matrixpaletteindex);
|
||||
typedef void (GL_APIENTRYP PFNGLLOADPALETTEFROMMODELVIEWMATRIXOESPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLMATRIXINDEXPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLWEIGHTPOINTEROESPROC) (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex);
|
||||
GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void);
|
||||
GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const void *pointer);
|
||||
#endif
|
||||
#endif /* GL_OES_matrix_palette */
|
||||
|
||||
#ifndef GL_OES_packed_depth_stencil
|
||||
#define GL_OES_packed_depth_stencil 1
|
||||
#define GL_DEPTH_STENCIL_OES 0x84F9
|
||||
#define GL_UNSIGNED_INT_24_8_OES 0x84FA
|
||||
#define GL_DEPTH24_STENCIL8_OES 0x88F0
|
||||
#endif /* GL_OES_packed_depth_stencil */
|
||||
|
||||
#ifndef GL_OES_query_matrix
|
||||
#define GL_OES_query_matrix 1
|
||||
typedef GLbitfield (GL_APIENTRYP PFNGLQUERYMATRIXXOESPROC) (GLfixed *mantissa, GLint *exponent);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed *mantissa, GLint *exponent);
|
||||
#endif
|
||||
#endif /* GL_OES_query_matrix */
|
||||
|
||||
#ifndef GL_OES_required_internalformat
|
||||
#define GL_OES_required_internalformat 1
|
||||
#define GL_ALPHA8_OES 0x803C
|
||||
#define GL_LUMINANCE4_ALPHA4_OES 0x8043
|
||||
#define GL_LUMINANCE8_ALPHA8_OES 0x8045
|
||||
#define GL_LUMINANCE8_OES 0x8040
|
||||
#define GL_RGB8_OES 0x8051
|
||||
#define GL_RGBA8_OES 0x8058
|
||||
#define GL_RGB10_EXT 0x8052
|
||||
#define GL_RGB10_A2_EXT 0x8059
|
||||
#endif /* GL_OES_required_internalformat */
|
||||
|
||||
#ifndef GL_OES_rgb8_rgba8
|
||||
#define GL_OES_rgb8_rgba8 1
|
||||
#endif /* GL_OES_rgb8_rgba8 */
|
||||
|
||||
#ifndef GL_OES_single_precision
|
||||
#define GL_OES_single_precision 1
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFOESPROC) (GLclampf depth);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFOESPROC) (GLenum plane, const GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFOESPROC) (GLclampf n, GLclampf f);
|
||||
typedef void (GL_APIENTRYP PFNGLFRUSTUMFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCLIPPLANEFOESPROC) (GLenum plane, GLfloat *equation);
|
||||
typedef void (GL_APIENTRYP PFNGLORTHOFOESPROC) (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glClearDepthfOES (GLclampf depth);
|
||||
GL_API void GL_APIENTRY glClipPlanefOES (GLenum plane, const GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glDepthRangefOES (GLclampf n, GLclampf f);
|
||||
GL_API void GL_APIENTRY glFrustumfOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
GL_API void GL_APIENTRY glGetClipPlanefOES (GLenum plane, GLfloat *equation);
|
||||
GL_API void GL_APIENTRY glOrthofOES (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f);
|
||||
#endif
|
||||
#endif /* GL_OES_single_precision */
|
||||
|
||||
#ifndef GL_OES_stencil1
|
||||
#define GL_OES_stencil1 1
|
||||
#define GL_STENCIL_INDEX1_OES 0x8D46
|
||||
#endif /* GL_OES_stencil1 */
|
||||
|
||||
#ifndef GL_OES_stencil4
|
||||
#define GL_OES_stencil4 1
|
||||
#define GL_STENCIL_INDEX4_OES 0x8D47
|
||||
#endif /* GL_OES_stencil4 */
|
||||
|
||||
#ifndef GL_OES_stencil8
|
||||
#define GL_OES_stencil8 1
|
||||
#define GL_STENCIL_INDEX8_OES 0x8D48
|
||||
#endif /* GL_OES_stencil8 */
|
||||
|
||||
#ifndef GL_OES_stencil_wrap
|
||||
#define GL_OES_stencil_wrap 1
|
||||
#define GL_INCR_WRAP_OES 0x8507
|
||||
#define GL_DECR_WRAP_OES 0x8508
|
||||
#endif /* GL_OES_stencil_wrap */
|
||||
|
||||
#ifndef GL_OES_surfaceless_context
|
||||
#define GL_OES_surfaceless_context 1
|
||||
#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
|
||||
#endif /* GL_OES_surfaceless_context */
|
||||
|
||||
#ifndef GL_OES_texture_cube_map
|
||||
#define GL_OES_texture_cube_map 1
|
||||
#define GL_NORMAL_MAP_OES 0x8511
|
||||
#define GL_REFLECTION_MAP_OES 0x8512
|
||||
#define GL_TEXTURE_CUBE_MAP_OES 0x8513
|
||||
#define GL_TEXTURE_BINDING_CUBE_MAP_OES 0x8514
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES 0x8515
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES 0x8516
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES 0x8517
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES 0x8518
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES 0x8519
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES 0x851A
|
||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES 0x851C
|
||||
#define GL_TEXTURE_GEN_MODE_OES 0x2500
|
||||
#define GL_TEXTURE_GEN_STR_OES 0x8D60
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENFOESPROC) (GLenum coord, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENFVOESPROC) (GLenum coord, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENIOESPROC) (GLenum coord, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXGENIVOESPROC) (GLenum coord, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENFVOESPROC) (GLenum coord, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXGENIVOESPROC) (GLenum coord, GLenum pname, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glTexGenfOES (GLenum coord, GLenum pname, GLfloat param);
|
||||
GL_API void GL_APIENTRY glTexGenfvOES (GLenum coord, GLenum pname, const GLfloat *params);
|
||||
GL_API void GL_APIENTRY glTexGeniOES (GLenum coord, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glTexGenivOES (GLenum coord, GLenum pname, const GLint *params);
|
||||
GL_API void GL_APIENTRY glGetTexGenfvOES (GLenum coord, GLenum pname, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetTexGenivOES (GLenum coord, GLenum pname, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_OES_texture_cube_map */
|
||||
|
||||
#ifndef GL_OES_texture_env_crossbar
|
||||
#define GL_OES_texture_env_crossbar 1
|
||||
#endif /* GL_OES_texture_env_crossbar */
|
||||
|
||||
#ifndef GL_OES_texture_mirrored_repeat
|
||||
#define GL_OES_texture_mirrored_repeat 1
|
||||
#define GL_MIRRORED_REPEAT_OES 0x8370
|
||||
#endif /* GL_OES_texture_mirrored_repeat */
|
||||
|
||||
#ifndef GL_OES_texture_npot
|
||||
#define GL_OES_texture_npot 1
|
||||
#endif /* GL_OES_texture_npot */
|
||||
|
||||
#ifndef GL_OES_vertex_array_object
|
||||
#define GL_OES_vertex_array_object 1
|
||||
#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
|
||||
typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
|
||||
typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glBindVertexArrayOES (GLuint array);
|
||||
GL_API void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
|
||||
GL_API void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
|
||||
GL_API GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
|
||||
#endif
|
||||
#endif /* GL_OES_vertex_array_object */
|
||||
|
||||
#ifndef GL_AMD_compressed_3DC_texture
|
||||
#define GL_AMD_compressed_3DC_texture 1
|
||||
#define GL_3DC_X_AMD 0x87F9
|
||||
#define GL_3DC_XY_AMD 0x87FA
|
||||
#endif /* GL_AMD_compressed_3DC_texture */
|
||||
|
||||
#ifndef GL_AMD_compressed_ATC_texture
|
||||
#define GL_AMD_compressed_ATC_texture 1
|
||||
#define GL_ATC_RGB_AMD 0x8C92
|
||||
#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
|
||||
#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
|
||||
#endif /* GL_AMD_compressed_ATC_texture */
|
||||
|
||||
#ifndef GL_APPLE_copy_texture_levels
|
||||
#define GL_APPLE_copy_texture_levels 1
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
|
||||
#endif
|
||||
#endif /* GL_APPLE_copy_texture_levels */
|
||||
|
||||
#ifndef GL_APPLE_framebuffer_multisample
|
||||
#define GL_APPLE_framebuffer_multisample 1
|
||||
#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
|
||||
#define GL_MAX_SAMPLES_APPLE 0x8D57
|
||||
#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
|
||||
#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
|
||||
#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
|
||||
#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
|
||||
#endif
|
||||
#endif /* GL_APPLE_framebuffer_multisample */
|
||||
|
||||
#ifndef GL_APPLE_sync
|
||||
#define GL_APPLE_sync 1
|
||||
typedef struct __GLsync *GLsync;
|
||||
typedef khronos_uint64_t GLuint64;
|
||||
typedef khronos_int64_t GLint64;
|
||||
#define GL_SYNC_OBJECT_APPLE 0x8A53
|
||||
#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
|
||||
#define GL_OBJECT_TYPE_APPLE 0x9112
|
||||
#define GL_SYNC_CONDITION_APPLE 0x9113
|
||||
#define GL_SYNC_STATUS_APPLE 0x9114
|
||||
#define GL_SYNC_FLAGS_APPLE 0x9115
|
||||
#define GL_SYNC_FENCE_APPLE 0x9116
|
||||
#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
|
||||
#define GL_UNSIGNALED_APPLE 0x9118
|
||||
#define GL_SIGNALED_APPLE 0x9119
|
||||
#define GL_ALREADY_SIGNALED_APPLE 0x911A
|
||||
#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
|
||||
#define GL_CONDITION_SATISFIED_APPLE 0x911C
|
||||
#define GL_WAIT_FAILED_APPLE 0x911D
|
||||
#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
|
||||
#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
|
||||
typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
|
||||
GL_API GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
|
||||
GL_API void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
|
||||
GL_API GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
GL_API void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
|
||||
GL_API void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
|
||||
GL_API void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
|
||||
#endif
|
||||
#endif /* GL_APPLE_sync */
|
||||
|
||||
#ifndef GL_APPLE_texture_2D_limited_npot
|
||||
#define GL_APPLE_texture_2D_limited_npot 1
|
||||
#endif /* GL_APPLE_texture_2D_limited_npot */
|
||||
|
||||
#ifndef GL_APPLE_texture_format_BGRA8888
|
||||
#define GL_APPLE_texture_format_BGRA8888 1
|
||||
#define GL_BGRA_EXT 0x80E1
|
||||
#define GL_BGRA8_EXT 0x93A1
|
||||
#endif /* GL_APPLE_texture_format_BGRA8888 */
|
||||
|
||||
#ifndef GL_APPLE_texture_max_level
|
||||
#define GL_APPLE_texture_max_level 1
|
||||
#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
|
||||
#endif /* GL_APPLE_texture_max_level */
|
||||
|
||||
#ifndef GL_ARM_rgba8
|
||||
#define GL_ARM_rgba8 1
|
||||
#endif /* GL_ARM_rgba8 */
|
||||
|
||||
#ifndef GL_EXT_blend_minmax
|
||||
#define GL_EXT_blend_minmax 1
|
||||
#define GL_MIN_EXT 0x8007
|
||||
#define GL_MAX_EXT 0x8008
|
||||
#endif /* GL_EXT_blend_minmax */
|
||||
|
||||
#ifndef GL_EXT_debug_marker
|
||||
#define GL_EXT_debug_marker 1
|
||||
typedef char GLchar;
|
||||
typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
|
||||
typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
|
||||
typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
|
||||
GL_API void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
|
||||
GL_API void GL_APIENTRY glPopGroupMarkerEXT (void);
|
||||
#endif
|
||||
#endif /* GL_EXT_debug_marker */
|
||||
|
||||
#ifndef GL_EXT_discard_framebuffer
|
||||
#define GL_EXT_discard_framebuffer 1
|
||||
#define GL_COLOR_EXT 0x1800
|
||||
#define GL_DEPTH_EXT 0x1801
|
||||
#define GL_STENCIL_EXT 0x1802
|
||||
typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
|
||||
#endif
|
||||
#endif /* GL_EXT_discard_framebuffer */
|
||||
|
||||
#ifndef GL_EXT_map_buffer_range
|
||||
#define GL_EXT_map_buffer_range 1
|
||||
#define GL_MAP_READ_BIT_EXT 0x0001
|
||||
#define GL_MAP_WRITE_BIT_EXT 0x0002
|
||||
#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
|
||||
#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
|
||||
#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
|
||||
#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
|
||||
typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
|
||||
GL_API void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
|
||||
#endif
|
||||
#endif /* GL_EXT_map_buffer_range */
|
||||
|
||||
#ifndef GL_EXT_multi_draw_arrays
|
||||
#define GL_EXT_multi_draw_arrays 1
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
|
||||
GL_API void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
|
||||
#endif
|
||||
#endif /* GL_EXT_multi_draw_arrays */
|
||||
|
||||
#ifndef GL_EXT_multisampled_render_to_texture
|
||||
#define GL_EXT_multisampled_render_to_texture 1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
|
||||
#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
|
||||
#define GL_MAX_SAMPLES_EXT 0x8D57
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#endif
|
||||
#endif /* GL_EXT_multisampled_render_to_texture */
|
||||
|
||||
#ifndef GL_EXT_read_format_bgra
|
||||
#define GL_EXT_read_format_bgra 1
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
|
||||
#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
|
||||
#endif /* GL_EXT_read_format_bgra */
|
||||
|
||||
#ifndef GL_EXT_robustness
|
||||
#define GL_EXT_robustness 1
|
||||
#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
|
||||
#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
|
||||
#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
|
||||
#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
|
||||
#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
|
||||
#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
|
||||
#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
|
||||
GL_API void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
|
||||
GL_API void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
|
||||
GL_API void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_EXT_robustness */
|
||||
|
||||
#ifndef GL_EXT_sRGB
|
||||
#define GL_EXT_sRGB 1
|
||||
#define GL_SRGB_EXT 0x8C40
|
||||
#define GL_SRGB_ALPHA_EXT 0x8C42
|
||||
#define GL_SRGB8_ALPHA8_EXT 0x8C43
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
|
||||
#endif /* GL_EXT_sRGB */
|
||||
|
||||
#ifndef GL_EXT_texture_compression_dxt1
|
||||
#define GL_EXT_texture_compression_dxt1 1
|
||||
#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
|
||||
#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
|
||||
#endif /* GL_EXT_texture_compression_dxt1 */
|
||||
|
||||
#ifndef GL_EXT_texture_filter_anisotropic
|
||||
#define GL_EXT_texture_filter_anisotropic 1
|
||||
#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
|
||||
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
|
||||
#endif /* GL_EXT_texture_filter_anisotropic */
|
||||
|
||||
#ifndef GL_EXT_texture_format_BGRA8888
|
||||
#define GL_EXT_texture_format_BGRA8888 1
|
||||
#endif /* GL_EXT_texture_format_BGRA8888 */
|
||||
|
||||
#ifndef GL_EXT_texture_lod_bias
|
||||
#define GL_EXT_texture_lod_bias 1
|
||||
#define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD
|
||||
#define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500
|
||||
#define GL_TEXTURE_LOD_BIAS_EXT 0x8501
|
||||
#endif /* GL_EXT_texture_lod_bias */
|
||||
|
||||
#ifndef GL_EXT_texture_storage
|
||||
#define GL_EXT_texture_storage 1
|
||||
#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
|
||||
#define GL_ALPHA8_EXT 0x803C
|
||||
#define GL_LUMINANCE8_EXT 0x8040
|
||||
#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
|
||||
#define GL_RGBA32F_EXT 0x8814
|
||||
#define GL_RGB32F_EXT 0x8815
|
||||
#define GL_ALPHA32F_EXT 0x8816
|
||||
#define GL_LUMINANCE32F_EXT 0x8818
|
||||
#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
|
||||
#define GL_RGBA16F_EXT 0x881A
|
||||
#define GL_RGB16F_EXT 0x881B
|
||||
#define GL_ALPHA16F_EXT 0x881C
|
||||
#define GL_LUMINANCE16F_EXT 0x881E
|
||||
#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
|
||||
#define GL_R8_EXT 0x8229
|
||||
#define GL_RG8_EXT 0x822B
|
||||
#define GL_R32F_EXT 0x822E
|
||||
#define GL_RG32F_EXT 0x8230
|
||||
#define GL_R16F_EXT 0x822D
|
||||
#define GL_RG16F_EXT 0x822F
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
GL_API void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
GL_API void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
|
||||
GL_API void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
|
||||
#endif
|
||||
#endif /* GL_EXT_texture_storage */
|
||||
|
||||
#ifndef GL_IMG_multisampled_render_to_texture
|
||||
#define GL_IMG_multisampled_render_to_texture 1
|
||||
#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
|
||||
#define GL_MAX_SAMPLES_IMG 0x9135
|
||||
#define GL_TEXTURE_SAMPLES_IMG 0x9136
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_API void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
|
||||
#endif
|
||||
#endif /* GL_IMG_multisampled_render_to_texture */
|
||||
|
||||
#ifndef GL_IMG_read_format
|
||||
#define GL_IMG_read_format 1
|
||||
#define GL_BGRA_IMG 0x80E1
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
|
||||
#endif /* GL_IMG_read_format */
|
||||
|
||||
#ifndef GL_IMG_texture_compression_pvrtc
|
||||
#define GL_IMG_texture_compression_pvrtc 1
|
||||
#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
|
||||
#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
|
||||
#endif /* GL_IMG_texture_compression_pvrtc */
|
||||
|
||||
#ifndef GL_IMG_texture_env_enhanced_fixed_function
|
||||
#define GL_IMG_texture_env_enhanced_fixed_function 1
|
||||
#define GL_MODULATE_COLOR_IMG 0x8C04
|
||||
#define GL_RECIP_ADD_SIGNED_ALPHA_IMG 0x8C05
|
||||
#define GL_TEXTURE_ALPHA_MODULATE_IMG 0x8C06
|
||||
#define GL_FACTOR_ALPHA_MODULATE_IMG 0x8C07
|
||||
#define GL_FRAGMENT_ALPHA_MODULATE_IMG 0x8C08
|
||||
#define GL_ADD_BLEND_IMG 0x8C09
|
||||
#define GL_DOT3_RGBA_IMG 0x86AF
|
||||
#endif /* GL_IMG_texture_env_enhanced_fixed_function */
|
||||
|
||||
#ifndef GL_IMG_user_clip_plane
|
||||
#define GL_IMG_user_clip_plane 1
|
||||
#define GL_CLIP_PLANE0_IMG 0x3000
|
||||
#define GL_CLIP_PLANE1_IMG 0x3001
|
||||
#define GL_CLIP_PLANE2_IMG 0x3002
|
||||
#define GL_CLIP_PLANE3_IMG 0x3003
|
||||
#define GL_CLIP_PLANE4_IMG 0x3004
|
||||
#define GL_CLIP_PLANE5_IMG 0x3005
|
||||
#define GL_MAX_CLIP_PLANES_IMG 0x0D32
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEFIMGPROC) (GLenum p, const GLfloat *eqn);
|
||||
typedef void (GL_APIENTRYP PFNGLCLIPPLANEXIMGPROC) (GLenum p, const GLfixed *eqn);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glClipPlanefIMG (GLenum p, const GLfloat *eqn);
|
||||
GL_API void GL_APIENTRY glClipPlanexIMG (GLenum p, const GLfixed *eqn);
|
||||
#endif
|
||||
#endif /* GL_IMG_user_clip_plane */
|
||||
|
||||
#ifndef GL_NV_fence
|
||||
#define GL_NV_fence 1
|
||||
#define GL_ALL_COMPLETED_NV 0x84F2
|
||||
#define GL_FENCE_STATUS_NV 0x84F3
|
||||
#define GL_FENCE_CONDITION_NV 0x84F4
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
|
||||
typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
|
||||
GL_API void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
|
||||
GL_API GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
|
||||
GL_API GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
|
||||
GL_API void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glFinishFenceNV (GLuint fence);
|
||||
GL_API void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
|
||||
#endif
|
||||
#endif /* GL_NV_fence */
|
||||
|
||||
#ifndef GL_QCOM_driver_control
|
||||
#define GL_QCOM_driver_control 1
|
||||
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
|
||||
typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
|
||||
GL_API void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
|
||||
GL_API void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
|
||||
GL_API void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
|
||||
#endif
|
||||
#endif /* GL_QCOM_driver_control */
|
||||
|
||||
#ifndef GL_QCOM_extended_get
|
||||
#define GL_QCOM_extended_get 1
|
||||
#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
|
||||
#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
|
||||
#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
|
||||
#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
|
||||
#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
|
||||
#define GL_TEXTURE_TYPE_QCOM 0x8BD7
|
||||
#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
|
||||
#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
|
||||
#define GL_TEXTURE_TARGET_QCOM 0x8BDA
|
||||
#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
|
||||
#define GL_STATE_RESTORE 0x8BDC
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
|
||||
GL_API void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
|
||||
GL_API void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
|
||||
GL_API void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
|
||||
GL_API void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
|
||||
GL_API void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
|
||||
GL_API void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
|
||||
GL_API void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
|
||||
#endif
|
||||
#endif /* GL_QCOM_extended_get */
|
||||
|
||||
#ifndef GL_QCOM_extended_get2
|
||||
#define GL_QCOM_extended_get2 1
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
|
||||
GL_API void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
|
||||
GL_API GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
|
||||
GL_API void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
|
||||
#endif
|
||||
#endif /* GL_QCOM_extended_get2 */
|
||||
|
||||
#ifndef GL_QCOM_perfmon_global_mode
|
||||
#define GL_QCOM_perfmon_global_mode 1
|
||||
#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
|
||||
#endif /* GL_QCOM_perfmon_global_mode */
|
||||
|
||||
#ifndef GL_QCOM_tiled_rendering
|
||||
#define GL_QCOM_tiled_rendering 1
|
||||
#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
|
||||
#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
|
||||
#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
|
||||
#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
|
||||
#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
|
||||
#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
|
||||
#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
|
||||
#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
|
||||
#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
|
||||
#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
|
||||
#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
|
||||
#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
|
||||
#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
|
||||
#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
|
||||
#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
|
||||
#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
|
||||
#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
|
||||
#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
|
||||
#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
|
||||
#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
|
||||
#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
|
||||
#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
|
||||
#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
|
||||
#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
|
||||
#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
|
||||
typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
|
||||
typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_API void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
|
||||
GL_API void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
|
||||
#endif
|
||||
#endif /* GL_QCOM_tiled_rendering */
|
||||
|
||||
#ifndef GL_QCOM_writeonly_rendering
|
||||
#define GL_QCOM_writeonly_rendering 1
|
||||
#define GL_WRITEONLY_RENDERING_QCOM 0x8823
|
||||
#endif /* GL_QCOM_writeonly_rendering */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
#ifndef __glplatform_h_
|
||||
#define __glplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2017 The Khronos Group Inc.
|
||||
**
|
||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
||||
** you may not use this file except in compliance with the License.
|
||||
** You may obtain a copy of the License at
|
||||
**
|
||||
** http://www.apache.org/licenses/LICENSE-2.0
|
||||
**
|
||||
** Unless required by applicable law or agreed to in writing, software
|
||||
** distributed under the License is distributed on an "AS IS" BASIS,
|
||||
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
** See the License for the specific language governing permissions and
|
||||
** limitations under the License.
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 1.X gl.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_API
|
||||
#define GL_API KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __glplatform_h_ */
|
||||
+664
@@ -0,0 +1,664 @@
|
||||
#ifndef __gles2_gl2_h_
|
||||
#define __gles2_gl2_h_ 1
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
** Copyright 2013-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: MIT
|
||||
**
|
||||
** This header is generated from the Khronos OpenGL / OpenGL ES XML
|
||||
** API Registry. The current version of the Registry, generator scripts
|
||||
** used to make the header, and the header can be found at
|
||||
** https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/GLES2/gl2platform.h>
|
||||
#else
|
||||
#include <GLES2/gl2platform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRYP
|
||||
#define GL_APIENTRYP GL_APIENTRY*
|
||||
#endif
|
||||
|
||||
#ifndef GL_GLES_PROTOTYPES
|
||||
#define GL_GLES_PROTOTYPES 1
|
||||
#endif
|
||||
|
||||
/* Generated on date 20210107 */
|
||||
|
||||
/* Generated C header for:
|
||||
* API: gles2
|
||||
* Profile: common
|
||||
* Versions considered: 2\.[0-9]
|
||||
* Versions emitted: .*
|
||||
* Default extensions included: None
|
||||
* Additional extensions included: _nomatch_^
|
||||
* Extensions removed: _nomatch_^
|
||||
*/
|
||||
|
||||
#ifndef GL_ES_VERSION_2_0
|
||||
#define GL_ES_VERSION_2_0 1
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
typedef khronos_int8_t GLbyte;
|
||||
typedef khronos_float_t GLclampf;
|
||||
typedef khronos_int32_t GLfixed;
|
||||
typedef khronos_int16_t GLshort;
|
||||
typedef khronos_uint16_t GLushort;
|
||||
typedef void GLvoid;
|
||||
typedef struct __GLsync *GLsync;
|
||||
typedef khronos_int64_t GLint64;
|
||||
typedef khronos_uint64_t GLuint64;
|
||||
typedef unsigned int GLenum;
|
||||
typedef unsigned int GLuint;
|
||||
typedef char GLchar;
|
||||
typedef khronos_float_t GLfloat;
|
||||
typedef khronos_ssize_t GLsizeiptr;
|
||||
typedef khronos_intptr_t GLintptr;
|
||||
typedef unsigned int GLbitfield;
|
||||
typedef int GLint;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef int GLsizei;
|
||||
typedef khronos_uint8_t GLubyte;
|
||||
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
||||
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
||||
#define GL_COLOR_BUFFER_BIT 0x00004000
|
||||
#define GL_FALSE 0
|
||||
#define GL_TRUE 1
|
||||
#define GL_POINTS 0x0000
|
||||
#define GL_LINES 0x0001
|
||||
#define GL_LINE_LOOP 0x0002
|
||||
#define GL_LINE_STRIP 0x0003
|
||||
#define GL_TRIANGLES 0x0004
|
||||
#define GL_TRIANGLE_STRIP 0x0005
|
||||
#define GL_TRIANGLE_FAN 0x0006
|
||||
#define GL_ZERO 0
|
||||
#define GL_ONE 1
|
||||
#define GL_SRC_COLOR 0x0300
|
||||
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
||||
#define GL_SRC_ALPHA 0x0302
|
||||
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
||||
#define GL_DST_ALPHA 0x0304
|
||||
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
||||
#define GL_DST_COLOR 0x0306
|
||||
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
||||
#define GL_SRC_ALPHA_SATURATE 0x0308
|
||||
#define GL_FUNC_ADD 0x8006
|
||||
#define GL_BLEND_EQUATION 0x8009
|
||||
#define GL_BLEND_EQUATION_RGB 0x8009
|
||||
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
||||
#define GL_FUNC_SUBTRACT 0x800A
|
||||
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
||||
#define GL_BLEND_DST_RGB 0x80C8
|
||||
#define GL_BLEND_SRC_RGB 0x80C9
|
||||
#define GL_BLEND_DST_ALPHA 0x80CA
|
||||
#define GL_BLEND_SRC_ALPHA 0x80CB
|
||||
#define GL_CONSTANT_COLOR 0x8001
|
||||
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
||||
#define GL_CONSTANT_ALPHA 0x8003
|
||||
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
||||
#define GL_BLEND_COLOR 0x8005
|
||||
#define GL_ARRAY_BUFFER 0x8892
|
||||
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
||||
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
||||
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
||||
#define GL_STREAM_DRAW 0x88E0
|
||||
#define GL_STATIC_DRAW 0x88E4
|
||||
#define GL_DYNAMIC_DRAW 0x88E8
|
||||
#define GL_BUFFER_SIZE 0x8764
|
||||
#define GL_BUFFER_USAGE 0x8765
|
||||
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
||||
#define GL_FRONT 0x0404
|
||||
#define GL_BACK 0x0405
|
||||
#define GL_FRONT_AND_BACK 0x0408
|
||||
#define GL_TEXTURE_2D 0x0DE1
|
||||
#define GL_CULL_FACE 0x0B44
|
||||
#define GL_BLEND 0x0BE2
|
||||
#define GL_DITHER 0x0BD0
|
||||
#define GL_STENCIL_TEST 0x0B90
|
||||
#define GL_DEPTH_TEST 0x0B71
|
||||
#define GL_SCISSOR_TEST 0x0C11
|
||||
#define GL_POLYGON_OFFSET_FILL 0x8037
|
||||
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
||||
#define GL_SAMPLE_COVERAGE 0x80A0
|
||||
#define GL_NO_ERROR 0
|
||||
#define GL_INVALID_ENUM 0x0500
|
||||
#define GL_INVALID_VALUE 0x0501
|
||||
#define GL_INVALID_OPERATION 0x0502
|
||||
#define GL_OUT_OF_MEMORY 0x0505
|
||||
#define GL_CW 0x0900
|
||||
#define GL_CCW 0x0901
|
||||
#define GL_LINE_WIDTH 0x0B21
|
||||
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
||||
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
||||
#define GL_CULL_FACE_MODE 0x0B45
|
||||
#define GL_FRONT_FACE 0x0B46
|
||||
#define GL_DEPTH_RANGE 0x0B70
|
||||
#define GL_DEPTH_WRITEMASK 0x0B72
|
||||
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
||||
#define GL_DEPTH_FUNC 0x0B74
|
||||
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
||||
#define GL_STENCIL_FUNC 0x0B92
|
||||
#define GL_STENCIL_FAIL 0x0B94
|
||||
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
||||
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
||||
#define GL_STENCIL_REF 0x0B97
|
||||
#define GL_STENCIL_VALUE_MASK 0x0B93
|
||||
#define GL_STENCIL_WRITEMASK 0x0B98
|
||||
#define GL_STENCIL_BACK_FUNC 0x8800
|
||||
#define GL_STENCIL_BACK_FAIL 0x8801
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
|
||||
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
|
||||
#define GL_STENCIL_BACK_REF 0x8CA3
|
||||
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
|
||||
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
||||
#define GL_VIEWPORT 0x0BA2
|
||||
#define GL_SCISSOR_BOX 0x0C10
|
||||
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
||||
#define GL_COLOR_WRITEMASK 0x0C23
|
||||
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
||||
#define GL_PACK_ALIGNMENT 0x0D05
|
||||
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
||||
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
||||
#define GL_SUBPIXEL_BITS 0x0D50
|
||||
#define GL_RED_BITS 0x0D52
|
||||
#define GL_GREEN_BITS 0x0D53
|
||||
#define GL_BLUE_BITS 0x0D54
|
||||
#define GL_ALPHA_BITS 0x0D55
|
||||
#define GL_DEPTH_BITS 0x0D56
|
||||
#define GL_STENCIL_BITS 0x0D57
|
||||
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
||||
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
||||
#define GL_TEXTURE_BINDING_2D 0x8069
|
||||
#define GL_SAMPLE_BUFFERS 0x80A8
|
||||
#define GL_SAMPLES 0x80A9
|
||||
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
||||
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
||||
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
||||
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
||||
#define GL_DONT_CARE 0x1100
|
||||
#define GL_FASTEST 0x1101
|
||||
#define GL_NICEST 0x1102
|
||||
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
||||
#define GL_BYTE 0x1400
|
||||
#define GL_UNSIGNED_BYTE 0x1401
|
||||
#define GL_SHORT 0x1402
|
||||
#define GL_UNSIGNED_SHORT 0x1403
|
||||
#define GL_INT 0x1404
|
||||
#define GL_UNSIGNED_INT 0x1405
|
||||
#define GL_FLOAT 0x1406
|
||||
#define GL_FIXED 0x140C
|
||||
#define GL_DEPTH_COMPONENT 0x1902
|
||||
#define GL_ALPHA 0x1906
|
||||
#define GL_RGB 0x1907
|
||||
#define GL_RGBA 0x1908
|
||||
#define GL_LUMINANCE 0x1909
|
||||
#define GL_LUMINANCE_ALPHA 0x190A
|
||||
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
||||
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
||||
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
||||
#define GL_FRAGMENT_SHADER 0x8B30
|
||||
#define GL_VERTEX_SHADER 0x8B31
|
||||
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
||||
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
||||
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
||||
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
||||
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
||||
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
||||
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
||||
#define GL_SHADER_TYPE 0x8B4F
|
||||
#define GL_DELETE_STATUS 0x8B80
|
||||
#define GL_LINK_STATUS 0x8B82
|
||||
#define GL_VALIDATE_STATUS 0x8B83
|
||||
#define GL_ATTACHED_SHADERS 0x8B85
|
||||
#define GL_ACTIVE_UNIFORMS 0x8B86
|
||||
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
|
||||
#define GL_ACTIVE_ATTRIBUTES 0x8B89
|
||||
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
|
||||
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
||||
#define GL_CURRENT_PROGRAM 0x8B8D
|
||||
#define GL_NEVER 0x0200
|
||||
#define GL_LESS 0x0201
|
||||
#define GL_EQUAL 0x0202
|
||||
#define GL_LEQUAL 0x0203
|
||||
#define GL_GREATER 0x0204
|
||||
#define GL_NOTEQUAL 0x0205
|
||||
#define GL_GEQUAL 0x0206
|
||||
#define GL_ALWAYS 0x0207
|
||||
#define GL_KEEP 0x1E00
|
||||
#define GL_REPLACE 0x1E01
|
||||
#define GL_INCR 0x1E02
|
||||
#define GL_DECR 0x1E03
|
||||
#define GL_INVERT 0x150A
|
||||
#define GL_INCR_WRAP 0x8507
|
||||
#define GL_DECR_WRAP 0x8508
|
||||
#define GL_VENDOR 0x1F00
|
||||
#define GL_RENDERER 0x1F01
|
||||
#define GL_VERSION 0x1F02
|
||||
#define GL_EXTENSIONS 0x1F03
|
||||
#define GL_NEAREST 0x2600
|
||||
#define GL_LINEAR 0x2601
|
||||
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
||||
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
||||
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
||||
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
||||
#define GL_TEXTURE_MAG_FILTER 0x2800
|
||||
#define GL_TEXTURE_MIN_FILTER 0x2801
|
||||
#define GL_TEXTURE_WRAP_S 0x2802
|
||||
#define GL_TEXTURE_WRAP_T 0x2803
|
||||
#define GL_TEXTURE 0x1702
|
||||
#define GL_TEXTURE_CUBE_MAP 0x8513
|
||||
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
|
||||
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
||||
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
||||
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
||||
#define GL_TEXTURE0 0x84C0
|
||||
#define GL_TEXTURE1 0x84C1
|
||||
#define GL_TEXTURE2 0x84C2
|
||||
#define GL_TEXTURE3 0x84C3
|
||||
#define GL_TEXTURE4 0x84C4
|
||||
#define GL_TEXTURE5 0x84C5
|
||||
#define GL_TEXTURE6 0x84C6
|
||||
#define GL_TEXTURE7 0x84C7
|
||||
#define GL_TEXTURE8 0x84C8
|
||||
#define GL_TEXTURE9 0x84C9
|
||||
#define GL_TEXTURE10 0x84CA
|
||||
#define GL_TEXTURE11 0x84CB
|
||||
#define GL_TEXTURE12 0x84CC
|
||||
#define GL_TEXTURE13 0x84CD
|
||||
#define GL_TEXTURE14 0x84CE
|
||||
#define GL_TEXTURE15 0x84CF
|
||||
#define GL_TEXTURE16 0x84D0
|
||||
#define GL_TEXTURE17 0x84D1
|
||||
#define GL_TEXTURE18 0x84D2
|
||||
#define GL_TEXTURE19 0x84D3
|
||||
#define GL_TEXTURE20 0x84D4
|
||||
#define GL_TEXTURE21 0x84D5
|
||||
#define GL_TEXTURE22 0x84D6
|
||||
#define GL_TEXTURE23 0x84D7
|
||||
#define GL_TEXTURE24 0x84D8
|
||||
#define GL_TEXTURE25 0x84D9
|
||||
#define GL_TEXTURE26 0x84DA
|
||||
#define GL_TEXTURE27 0x84DB
|
||||
#define GL_TEXTURE28 0x84DC
|
||||
#define GL_TEXTURE29 0x84DD
|
||||
#define GL_TEXTURE30 0x84DE
|
||||
#define GL_TEXTURE31 0x84DF
|
||||
#define GL_ACTIVE_TEXTURE 0x84E0
|
||||
#define GL_REPEAT 0x2901
|
||||
#define GL_CLAMP_TO_EDGE 0x812F
|
||||
#define GL_MIRRORED_REPEAT 0x8370
|
||||
#define GL_FLOAT_VEC2 0x8B50
|
||||
#define GL_FLOAT_VEC3 0x8B51
|
||||
#define GL_FLOAT_VEC4 0x8B52
|
||||
#define GL_INT_VEC2 0x8B53
|
||||
#define GL_INT_VEC3 0x8B54
|
||||
#define GL_INT_VEC4 0x8B55
|
||||
#define GL_BOOL 0x8B56
|
||||
#define GL_BOOL_VEC2 0x8B57
|
||||
#define GL_BOOL_VEC3 0x8B58
|
||||
#define GL_BOOL_VEC4 0x8B59
|
||||
#define GL_FLOAT_MAT2 0x8B5A
|
||||
#define GL_FLOAT_MAT3 0x8B5B
|
||||
#define GL_FLOAT_MAT4 0x8B5C
|
||||
#define GL_SAMPLER_2D 0x8B5E
|
||||
#define GL_SAMPLER_CUBE 0x8B60
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
||||
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
||||
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
||||
#define GL_COMPILE_STATUS 0x8B81
|
||||
#define GL_INFO_LOG_LENGTH 0x8B84
|
||||
#define GL_SHADER_SOURCE_LENGTH 0x8B88
|
||||
#define GL_SHADER_COMPILER 0x8DFA
|
||||
#define GL_SHADER_BINARY_FORMATS 0x8DF8
|
||||
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
|
||||
#define GL_LOW_FLOAT 0x8DF0
|
||||
#define GL_MEDIUM_FLOAT 0x8DF1
|
||||
#define GL_HIGH_FLOAT 0x8DF2
|
||||
#define GL_LOW_INT 0x8DF3
|
||||
#define GL_MEDIUM_INT 0x8DF4
|
||||
#define GL_HIGH_INT 0x8DF5
|
||||
#define GL_FRAMEBUFFER 0x8D40
|
||||
#define GL_RENDERBUFFER 0x8D41
|
||||
#define GL_RGBA4 0x8056
|
||||
#define GL_RGB5_A1 0x8057
|
||||
#define GL_RGB565 0x8D62
|
||||
#define GL_DEPTH_COMPONENT16 0x81A5
|
||||
#define GL_STENCIL_INDEX8 0x8D48
|
||||
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
||||
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
||||
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
||||
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
||||
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
||||
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
||||
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
||||
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
||||
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
||||
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
||||
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
||||
#define GL_DEPTH_ATTACHMENT 0x8D00
|
||||
#define GL_STENCIL_ATTACHMENT 0x8D20
|
||||
#define GL_NONE 0
|
||||
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
||||
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
||||
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
||||
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
||||
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
||||
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
||||
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
||||
typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
|
||||
typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor);
|
||||
typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d);
|
||||
typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s);
|
||||
typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
|
||||
typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
|
||||
typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag);
|
||||
typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f);
|
||||
typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
||||
typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
|
||||
typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode);
|
||||
typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target);
|
||||
typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers);
|
||||
typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||
typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||
typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
|
||||
typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
|
||||
typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture);
|
||||
typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width);
|
||||
typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert);
|
||||
typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||
typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
|
||||
typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#if GL_GLES_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
|
||||
GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
|
||||
GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
|
||||
GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
|
||||
GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
|
||||
GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
|
||||
GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
|
||||
GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
||||
GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
|
||||
GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
|
||||
GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
|
||||
GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
|
||||
GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
||||
GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
|
||||
GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
|
||||
GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
||||
GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
||||
GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
|
||||
GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
|
||||
GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
|
||||
GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
|
||||
GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
|
||||
GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
|
||||
GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
|
||||
GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
|
||||
GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
|
||||
GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
|
||||
GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
|
||||
GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||
GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
|
||||
GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
|
||||
GL_APICALL void GL_APIENTRY glFinish (void);
|
||||
GL_APICALL void GL_APIENTRY glFlush (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
||||
GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
|
||||
GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
|
||||
GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
|
||||
GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
|
||||
GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
|
||||
GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
|
||||
GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL GLenum GL_APIENTRY glGetError (void);
|
||||
GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
|
||||
GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
|
||||
GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
|
||||
GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
|
||||
GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
|
||||
GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
|
||||
GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
|
||||
GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
|
||||
GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
|
||||
GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
||||
GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
|
||||
GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length);
|
||||
GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
|
||||
GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
|
||||
GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
|
||||
GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
||||
GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
|
||||
GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
|
||||
GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
|
||||
GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
|
||||
GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
|
||||
GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
||||
GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
|
||||
GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
||||
GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
||||
GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
||||
GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
|
||||
GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
|
||||
GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
|
||||
#endif
|
||||
#endif /* GL_ES_VERSION_2_0 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+3953
File diff suppressed because it is too large
Load Diff
+739
@@ -0,0 +1,739 @@
|
||||
//
|
||||
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
// gl2ext_angle.h: ANGLE modifications to the gl2ext.h header file.
|
||||
// Currently we don't include this file directly, we patch gl2ext.h
|
||||
// to include it implicitly so it is visible throughout our code.
|
||||
|
||||
#ifndef INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
#define INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
|
||||
// clang-format off
|
||||
|
||||
#ifndef GL_ANGLE_client_arrays
|
||||
#define GL_ANGLE_client_arrays 1
|
||||
#define GL_CLIENT_ARRAYS_ANGLE 0x93AA
|
||||
#endif /* GL_ANGLE_client_arrays */
|
||||
|
||||
#ifndef GL_ANGLE_request_extension
|
||||
#define GL_ANGLE_request_extension 1
|
||||
#define GL_REQUESTABLE_EXTENSIONS_ANGLE 0x93A8
|
||||
#define GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE 0x93A9
|
||||
typedef void (GL_APIENTRYP PFNGLREQUESTEXTENSIONANGLEPROC) (const GLchar *name);
|
||||
typedef void (GL_APIENTRYP PFNGLDISABLEEXTENSIONANGLEPROC) (const GLchar *name);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glRequestExtensionANGLE (const GLchar *name);
|
||||
GL_APICALL void GL_APIENTRY glDisableExtensionANGLE (const GLchar *name);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_webgl_compatibility */
|
||||
|
||||
#ifndef GL_ANGLE_robust_resource_initialization
|
||||
#define GL_ANGLE_robust_resource_initialization 1
|
||||
#define GL_ROBUST_RESOURCE_INITIALIZATION_ANGLE 0x93AB
|
||||
#define GL_RESOURCE_INITIALIZED_ANGLE 0x969F
|
||||
#endif /* GL_ANGLE_robust_resource_initialization */
|
||||
|
||||
#ifndef GL_ANGLE_polygon_mode
|
||||
#define GL_ANGLE_polygon_mode 1
|
||||
#define GL_POLYGON_MODE_ANGLE 0x0B40
|
||||
#define GL_POLYGON_OFFSET_LINE_ANGLE 0x2A02
|
||||
#define GL_LINE_ANGLE 0x1B01
|
||||
#define GL_FILL_ANGLE 0x1B02
|
||||
typedef void (GL_APIENTRYP PFNGLPOLYGONMODEANGLEPROC) (GLenum face, GLenum mode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glPolygonModeANGLE (GLenum face, GLenum mode);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_polygon_mode */
|
||||
|
||||
#ifndef GL_ANGLE_provoking_vertex
|
||||
#define GL_ANGLE_provoking_vertex 1
|
||||
#define GL_FIRST_VERTEX_CONVENTION_ANGLE 0x8E4D
|
||||
#define GL_LAST_VERTEX_CONVENTION_ANGLE 0x8E4E
|
||||
#define GL_PROVOKING_VERTEX_ANGLE 0x8E4F
|
||||
typedef void (GL_APIENTRYP PFNGLPROVOKINGVERTEXANGLEPROC) (GLenum);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glProvokingVertexANGLE(GLenum provokeMode);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_provoking_vertex */
|
||||
|
||||
#ifndef GL_ANGLE_clip_cull_distance
|
||||
#define GL_ANGLE_clip_cull_distance 1
|
||||
#define GL_MAX_CLIP_DISTANCES_ANGLE 0x0D32
|
||||
#define GL_MAX_CULL_DISTANCES_ANGLE 0x82F9
|
||||
#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_ANGLE 0x82FA
|
||||
#define GL_CLIP_DISTANCE0_ANGLE 0x3000
|
||||
#define GL_CLIP_DISTANCE1_ANGLE 0x3001
|
||||
#define GL_CLIP_DISTANCE2_ANGLE 0x3002
|
||||
#define GL_CLIP_DISTANCE3_ANGLE 0x3003
|
||||
#define GL_CLIP_DISTANCE4_ANGLE 0x3004
|
||||
#define GL_CLIP_DISTANCE5_ANGLE 0x3005
|
||||
#define GL_CLIP_DISTANCE6_ANGLE 0x3006
|
||||
#define GL_CLIP_DISTANCE7_ANGLE 0x3007
|
||||
#endif /* GL_ANGLE_clip_cull_distance */
|
||||
|
||||
#ifndef GL_ANGLE_stencil_texturing
|
||||
#define GL_ANGLE_stencil_texturing 1
|
||||
#define GL_DEPTH_STENCIL_TEXTURE_MODE_ANGLE 0x90EA
|
||||
#define GL_STENCIL_INDEX_ANGLE 0x1901
|
||||
#endif /* GL_ANGLE_stencil_texturing */
|
||||
|
||||
#ifndef GL_ANGLE_renderability_validation
|
||||
#define GL_ANGLE_renderability_validation 1
|
||||
#define GL_RENDERABILITY_VALIDATION_ANGLE 0x9EA0
|
||||
#endif /* GL_ANGLE_renderability_validation */
|
||||
|
||||
#ifndef GL_CHROMIUM_framebuffer_mixed_samples
|
||||
#define GL_CHROMIUM_frambuffer_mixed_samples 1
|
||||
#define GL_COVERAGE_MODULATION_CHROMIUM 0x9332
|
||||
typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONCHROMIUMPROC) (GLenum components);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCoverageModulationCHROMIUM(GLenum components);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_framebuffer_mixed_samples */
|
||||
|
||||
#ifndef GL_CHROMIUM_bind_generates_resource
|
||||
#define GL_CHROMIUM_bind_generates_resource 1
|
||||
#define GL_BIND_GENERATES_RESOURCE_CHROMIUM 0x9244
|
||||
#endif /* GL_CHROMIUM_bind_generates_resource */
|
||||
|
||||
#ifndef GL_ANGLE_memory_size
|
||||
#define GL_ANGLE_memory_size
|
||||
#define GL_MEMORY_SIZE_ANGLE 0x93AD
|
||||
#endif /* GL_ANGLE_memory_size */
|
||||
|
||||
// needed by NV_path_rendering (and thus CHROMIUM_path_rendering)
|
||||
// but CHROMIUM_path_rendering only needs MatrixLoadfEXT, MatrixLoadIdentityEXT
|
||||
#ifndef GL_EXT_direct_state_access
|
||||
#define GL_EXT_direct_state_access 1
|
||||
typedef void(GL_APIENTRYP PFNGLMATRIXLOADFEXTPROC)(GLenum matrixMode, const GLfloat *m);
|
||||
typedef void(GL_APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC)(GLenum matrixMode);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glMatrixLoadfEXT(GLenum matrixMode, const GLfloat *m);
|
||||
GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT(GLenum matrixMode);
|
||||
#endif
|
||||
#endif /* GL_EXT_direct_state_access */
|
||||
|
||||
#ifndef GL_CHROMIUM_copy_texture
|
||||
#define GL_CHROMIUM_copy_texture 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYTEXTURECHROMIUMPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURECHROMIUMPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCopyTextureCHROMIUM(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
GL_APICALL void GL_APIENTRY glCopySubTextureCHROMIUM(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_copy_texture */
|
||||
|
||||
#ifndef GL_CHROMIUM_compressed_copy_texture
|
||||
#define GL_CHROMIUM_compressed_copy_texture 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOMPRESSEDCOPYTEXTURECHROMIUMPROC)(GLuint sourceId, GLuint destId);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCompressedCopyTextureCHROMIUM(GLuint sourceId, GLuint destId);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_compressed_copy_texture */
|
||||
|
||||
|
||||
#ifndef GL_ANGLE_copy_texture_3d
|
||||
#define GL_ANGLE_copy_texture_3d 1
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYTEXTURE3DANGLEPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
typedef void(GL_APIENTRYP PFNGLCOPYSUBTEXTURE3DANGLEPROC)(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint zoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLint z,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLsizei depth,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glCopyTexture3DANGLE(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint internalFormat,
|
||||
GLenum destType,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
GL_APICALL void GL_APIENTRY glCopySubTexture3DANGLE(GLuint sourceId,
|
||||
GLint sourceLevel,
|
||||
GLenum destTarget,
|
||||
GLuint destId,
|
||||
GLint destLevel,
|
||||
GLint xoffset,
|
||||
GLint yoffset,
|
||||
GLint zoffset,
|
||||
GLint x,
|
||||
GLint y,
|
||||
GLint z,
|
||||
GLsizei width,
|
||||
GLsizei height,
|
||||
GLsizei depth,
|
||||
GLboolean unpackFlipY,
|
||||
GLboolean unpackPremultiplyAlpha,
|
||||
GLboolean unpackUnmultiplyAlpha);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_copy_texture_3d */
|
||||
|
||||
#ifndef GL_CHROMIUM_sync_query
|
||||
#define GL_CHROMIUM_sync_query 1
|
||||
#define GL_COMMANDS_COMPLETED_CHROMIUM 0x84F7
|
||||
#endif /* GL_CHROMIUM_sync_query */
|
||||
|
||||
#ifndef GL_EXT_texture_compression_s3tc_srgb
|
||||
#define GL_EXT_texture_compression_s3tc_srgb 1
|
||||
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
|
||||
#endif /* GL_EXT_texture_compression_s3tc_srgb */
|
||||
|
||||
#ifndef GL_ANGLE_lossy_etc_decode
|
||||
#define GL_ANGLE_lossy_etc_decode 1
|
||||
#define GL_ETC1_RGB8_LOSSY_DECODE_ANGLE 0x9690
|
||||
#define GL_COMPRESSED_R11_LOSSY_DECODE_EAC_ANGLE 0x9691
|
||||
#define GL_COMPRESSED_SIGNED_R11_LOSSY_DECODE_EAC_ANGLE 0x9692
|
||||
#define GL_COMPRESSED_RG11_LOSSY_DECODE_EAC_ANGLE 0x9693
|
||||
#define GL_COMPRESSED_SIGNED_RG11_LOSSY_DECODE_EAC_ANGLE 0x9694
|
||||
#define GL_COMPRESSED_RGB8_LOSSY_DECODE_ETC2_ANGLE 0x9695
|
||||
#define GL_COMPRESSED_SRGB8_LOSSY_DECODE_ETC2_ANGLE 0x9696
|
||||
#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE 0x9697
|
||||
#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_LOSSY_DECODE_ETC2_ANGLE 0x9698
|
||||
#define GL_COMPRESSED_RGBA8_LOSSY_DECODE_ETC2_EAC_ANGLE 0x9699
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_LOSSY_DECODE_ETC2_EAC_ANGLE 0x969A
|
||||
#endif /* GL_ANGLE_lossy_etc_decode */
|
||||
|
||||
#ifndef GL_ANGLE_robust_client_memory
|
||||
#define GL_ANGLE_robust_client_memory 1
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFLOATVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERVROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVROBUSTANGLEPROC) (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSHADERIVROBUSTANGLEPROC) (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
|
||||
typedef void (GL_APIENTRYP PFNGLREADPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DROBUSTANGLEPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVROBUSTANGLEPROC) (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATIVROBUSTANGLEPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIUIVROBUSTANGLEPROC) (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVROBUSTANGLEPROC) (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64VROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETINTEGER64I_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERI64VROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPROGRAMINTERFACEIVROBUSTANGLEPROC) (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETBOOLEANI_VROBUSTANGLEPROC) (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVROBUSTANGLEPROC) (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVROBUSTANGLEPROC) (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETPOINTERVROBUSTANGLEROBUSTANGLEPROC) (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
typedef void (GL_APIENTRYP PFNGLREADNPIXELSROBUSTANGLEPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVROBUSTANGLEPROC) (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVROBUSTANGLEPROC) (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVROBUSTANGLEPROC) (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VROBUSTANGLEPROC)(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetBooleanvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFloatvRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *data);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameterivRobustANGLE (GLenum target, GLenum attachment, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegervRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramivRobustANGLE (GLuint program, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetShaderivRobustANGLE (GLuint shader, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribfvRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribPointervRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, void **pointer);
|
||||
GL_APICALL void GL_APIENTRY glReadPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexImage2DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterfvRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage2DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexImage3DRobustANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glTexSubImage3DRobustANGLE (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, const void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage2DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage2DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexImage3DRobustANGLE(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DRobustANGLE(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, GLsizei bufSize, const void *data);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectuivRobustANGLE (GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferPointervRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
GL_APICALL void GL_APIENTRY glGetIntegeri_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint *data);
|
||||
GL_APICALL void GL_APIENTRY glGetInternalformativRobustANGLE (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribIivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetVertexAttribIuivRobustANGLE (GLuint index, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetActiveUniformBlockivRobustANGLE (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetInteger64vRobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
GL_APICALL void GL_APIENTRY glGetInteger64i_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLint64 *data);
|
||||
GL_APICALL void GL_APIENTRY glGetBufferParameteri64vRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLfloat *param);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterfvRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferParameterivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetProgramInterfaceivRobustANGLE (GLuint program, GLenum programInterface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetBooleani_vRobustANGLE (GLenum target, GLuint index, GLsizei bufSize, GLsizei *length, GLboolean *data);
|
||||
GL_APICALL void GL_APIENTRY glGetMultisamplefvRobustANGLE (GLenum pname, GLuint index, GLsizei bufSize, GLsizei *length, GLfloat *val);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvRobustANGLE (GLenum target, GLint level, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetPointervRobustANGLERobustANGLE (GLenum pname, GLsizei bufSize, GLsizei *length, void **params);
|
||||
GL_APICALL void GL_APIENTRY glReadnPixelsRobustANGLE (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLsizei *length, GLsizei *columns, GLsizei *rows, void *data);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformfvRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetnUniformuivRobustANGLE (GLuint program, GLint location, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, const GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterIivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexParameterIuivRobustANGLE (GLenum target, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLint *param);
|
||||
GL_APICALL void GL_APIENTRY glSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, const GLuint *param);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterIivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivRobustANGLE (GLuint sampler, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectivRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjecti64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLint64 *params);
|
||||
GL_APICALL void GL_APIENTRY glGetQueryObjectui64vRobustANGLE(GLuint id, GLenum pname, GLsizei bufSize, GLsizei *length, GLuint64 *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_robust_client_memory */
|
||||
|
||||
#ifndef GL_ANGLE_program_cache_control
|
||||
#define GL_ANGLE_program_cache_control 1
|
||||
#define GL_PROGRAM_CACHE_ENABLED_ANGLE 0x93AC
|
||||
#endif /* GL_ANGLE_program_cache_control */
|
||||
|
||||
#ifndef GL_ANGLE_texture_rectangle
|
||||
#define GL_ANGLE_texture_rectangle 1
|
||||
#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ANGLE 0x84F8
|
||||
#define GL_TEXTURE_RECTANGLE_ANGLE 0x84F5
|
||||
#define GL_TEXTURE_BINDING_RECTANGLE_ANGLE 0x84F6
|
||||
#define GL_SAMPLER_2D_RECT_ANGLE 0x8B63
|
||||
#endif /* GL_ANGLE_texture_rectangle */
|
||||
|
||||
#ifndef GL_ANGLE_texture_multisample
|
||||
#define GL_ANGLE_texture_multisample 1
|
||||
#define GL_SAMPLE_POSITION_ANGLE 0x8E50
|
||||
#define GL_SAMPLE_MASK_ANGLE 0x8E51
|
||||
#define GL_SAMPLE_MASK_VALUE_ANGLE 0x8E52
|
||||
#define GL_TEXTURE_2D_MULTISAMPLE_ANGLE 0x9100
|
||||
#define GL_MAX_SAMPLE_MASK_WORDS_ANGLE 0x8E59
|
||||
#define GL_MAX_COLOR_TEXTURE_SAMPLES_ANGLE 0x910E
|
||||
#define GL_MAX_DEPTH_TEXTURE_SAMPLES_ANGLE 0x910F
|
||||
#define GL_MAX_INTEGER_SAMPLES_ANGLE 0x9110
|
||||
#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ANGLE 0x9104
|
||||
#define GL_TEXTURE_SAMPLES_ANGLE 0x9106
|
||||
#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS_ANGLE 0x9107
|
||||
typedef void(GL_APIENTRYP PFNGLTEXSTORAGE2DMULTISAMPLEANGLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETMULTISAMPLEFVANGLEPROC)(GLenum pname, GLuint index, GLfloat *val);
|
||||
typedef void (GL_APIENTRYP PFNGLSAMPLEMASKIANGLEPROC)(GLuint maskNumber, GLbitfield mask);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexStorage2DMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetMultisamplefvANGLE(GLenum pname, GLuint index, GLfloat *val);
|
||||
GL_APICALL void GL_APIENTRY glSampleMaskiANGLE(GLuint maskNumber, GLbitfield mask);
|
||||
#endif
|
||||
#endif // !GL_ANGLE_texture_multisample
|
||||
|
||||
#ifndef GL_ANGLE_get_tex_level_parameter
|
||||
#define GL_ANGLE_get_tex_level_parameter 1
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERFVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
typedef void(GL_APIENTRYP PFNGLGETTEXLEVELPARAMETERIVANGLEPROC)(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterfvANGLE(GLenum target, GLint level, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetTexLevelParameterivANGLE(GLenum target, GLint level, GLenum pname, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_get_tex_level_parameter */
|
||||
|
||||
#ifndef GL_ANGLE_multi_draw
|
||||
#define GL_ANGLE_multi_draw 1
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedANGLE (GLenum mode, const GLint *firsts, const GLsizei *counts, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, GLsizei drawcount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, GLsizei drawcount);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_multi_draw */
|
||||
|
||||
#ifndef GL_ANGLE_base_vertex_base_instance
|
||||
#define GL_ANGLE_base_vertex_base_instance 1
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance);
|
||||
typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINSTANCEDBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount);
|
||||
typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEANGLEPROC) (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceANGLE (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount, GLuint baseInstance);
|
||||
GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instanceCount, GLint baseVertex, GLuint baseInstance);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawArraysInstancedBaseInstanceANGLE (GLenum mode, const GLsizei *firsts, const GLsizei *counts, const GLsizei *instanceCounts, const GLuint *baseInstances, GLsizei drawCount);
|
||||
GL_APICALL void GL_APIENTRY glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE (GLenum mode, const GLsizei *counts, GLenum type, const GLvoid* const *indices, const GLsizei *instanceCounts, const GLint *baseVertices, const GLuint *baseInstances, GLsizei drawCount);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef GL_CHROMIUM_bind_uniform_location
|
||||
#define GL_CHROMIUM_bind_uniform_location 1
|
||||
typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUMPROC)(GLuint program, GLint location, const GLchar *name);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glBindUniformLocationCHROMIUM(GLuint program, GLint location, const GLchar *name);
|
||||
#endif
|
||||
#endif /* GL_CHROMIUM_bind_uniform_location */
|
||||
|
||||
/* GL_CHROMIUM_lose_context */
|
||||
#ifndef GL_CHROMIUM_lose_context
|
||||
#define GL_CHROMIUM_lose_context 1
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glLoseContextCHROMIUM(GLenum current, GLenum other);
|
||||
#endif
|
||||
typedef void (GL_APIENTRYP PFNGLLOSECONTEXTCHROMIUMPROC) (GLenum current, GLenum other);
|
||||
#endif /* GL_CHROMIUM_lose_context */
|
||||
|
||||
#ifndef GL_ANGLE_texture_external_update
|
||||
#define GL_ANGLE_texture_external_update 1
|
||||
#define GL_TEXTURE_NATIVE_ID_ANGLE 0x3481
|
||||
typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DEXTERNALANGLEPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
|
||||
typedef void (GL_APIENTRYP PFNGLINVALIDATETEXTUREANGLEPROC) (GLenum target);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexImage2DExternalANGLE (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type);
|
||||
GL_APICALL void GL_APIENTRY glInvalidateTextureANGLE (GLenum target);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_texture_external_update */
|
||||
|
||||
#ifndef GL_ANGLE_get_image
|
||||
#define GL_ANGLE_get_image
|
||||
typedef void (GL_APIENTRYP PFNGLGETTEXIMAGEANGLEPROC) (GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEANGLEPROC) (GLenum target, GLint level, void *pixels);
|
||||
typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERIMAGEANGLEPROC) (GLenum target, GLenum format, GLenum type, void *pixels);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glGetTexImageANGLE (GLenum target, GLint level, GLenum format, GLenum type, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glGetCompressedTexImageANGLE (GLenum target, GLint level, void *pixels);
|
||||
GL_APICALL void GL_APIENTRY glGetRenderbufferImageANGLE (GLenum target, GLenum format, GLenum type, void *pixels);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_get_image */
|
||||
|
||||
#ifndef GL_WEBGL_video_texture
|
||||
#define GL_WEBGL_video_texture 1
|
||||
#define GL_TEXTURE_VIDEO_IMAGE_WEBGL 0x9248
|
||||
#define GL_SAMPLER_VIDEO_IMAGE_WEBGL 0x9249
|
||||
#endif /* GL_WEBGL_video_texture */
|
||||
|
||||
#ifndef GL_ANGLE_memory_object_flags
|
||||
#define GL_ANGLE_memory_object_flags 1
|
||||
#define GL_CREATE_SPARSE_BINDING_BIT_ANGLE 0x00000001
|
||||
#define GL_CREATE_SPARSE_RESIDENCY_BIT_ANGLE 0x00000002
|
||||
#define GL_CREATE_SPARSE_ALIASED_BIT_ANGLE 0x00000004
|
||||
#define GL_CREATE_MUTABLE_FORMAT_BIT_ANGLE 0x00000008
|
||||
#define GL_CREATE_CUBE_COMPATIBLE_BIT_ANGLE 0x00000010
|
||||
#define GL_CREATE_ALIAS_BIT_ANGLE 0x00000400
|
||||
#define GL_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_ANGLE 0x00000040
|
||||
#define GL_CREATE_2D_ARRAY_COMPATIBLE_BIT_ANGLE 0x00000020
|
||||
#define GL_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_ANGLE 0x00000080
|
||||
#define GL_CREATE_EXTENDED_USAGE_BIT_ANGLE 0x00000100
|
||||
#define GL_CREATE_PROTECTED_BIT_ANGLE 0x00000800
|
||||
#define GL_CREATE_DISJOINT_BIT_ANGLE 0x00000200
|
||||
#define GL_CREATE_CORNER_SAMPLED_BIT_ANGLE 0x00002000
|
||||
#define GL_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_ANGLE 0x00001000
|
||||
#define GL_CREATE_SUBSAMPLED_BIT_ANGLE 0x00004000
|
||||
#define GL_USAGE_TRANSFER_SRC_BIT_ANGLE 0x00000001
|
||||
#define GL_USAGE_TRANSFER_DST_BIT_ANGLE 0x00000002
|
||||
#define GL_USAGE_SAMPLED_BIT_ANGLE 0x00000004
|
||||
#define GL_USAGE_STORAGE_BIT_ANGLE 0x00000008
|
||||
#define GL_USAGE_COLOR_ATTACHMENT_BIT_ANGLE 0x00000010
|
||||
#define GL_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT_ANGLE 0x00000020
|
||||
#define GL_USAGE_TRANSIENT_ATTACHMENT_BIT_ANGLE 0x00000040
|
||||
#define GL_USAGE_INPUT_ATTACHMENT_BIT_ANGLE 0x00000080
|
||||
#define GL_USAGE_SHADING_RATE_IMAGE_BIT_ANGLE 0x00000100
|
||||
#define GL_USAGE_FRAGMENT_DENSITY_MAP_BIT_ANGLE 0x00000200
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS2DANGLEPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS2DMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS3DANGLEPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEMFLAGS3DMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags2DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DANGLE (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
GL_APICALL void GL_APIENTRY glTexStorageMemFlags3DMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset, GLbitfield createFlags, GLbitfield usageFlags, const void *imageCreateInfoPNext);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_memory_object_flags */
|
||||
|
||||
#ifndef GL_ANGLE_memory_object_fuchsia
|
||||
#define GL_ANGLE_memory_object_fuchsia 1
|
||||
#define GL_HANDLE_TYPE_ZIRCON_VMO_ANGLE 0x93AE
|
||||
typedef void(GL_APIENTRYP PFNGLIMPORTMEMORYZIRCONHANDLEANGLEPROC)(GLuint memory,
|
||||
GLuint64 size,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glImportMemoryZirconHandleANGLE(GLuint memory,
|
||||
GLuint64 size,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_memory_object_fuchsia */
|
||||
|
||||
#ifndef GL_ANGLE_semaphore_fuchsia
|
||||
#define GL_ANGLE_semaphore_fuchsia 1
|
||||
#define GL_HANDLE_TYPE_ZIRCON_EVENT_ANGLE 0x93AF
|
||||
typedef void(GL_APIENTRYP PFNGLIMPORTSEMAPHOREZIRCONHANDLEANGLEPROC)(GLuint semaphore,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glImportSemaphoreZirconHandleANGLE(GLuint memory,
|
||||
GLenum handleType,
|
||||
GLuint handle);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_semaphore_fuchsia */
|
||||
|
||||
#ifndef GL_ANGLE_vulkan_image
|
||||
#define GL_ANGLE_vulkan_image 1
|
||||
typedef void(GL_APIENTRYP PFNGLACQUIRETEXTURESANGLEPROC)(GLuint numTexture, const GLuint *textures, const GLenum *layouts);
|
||||
typedef void(GL_APIENTRYP PFNGLRELEASETEXTURESANGLEPROC)(GLuint numTexture, const GLuint *textures, GLenum *layouts);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glAcquireTexturesANGLE(GLuint numTexture, const GLuint *textures, const GLenum *layouts);
|
||||
GL_APICALL void GL_APIENTRY glReleaseTexturesANGLE(GLuint numTexture, const GLuint *textures, GLenum *layouts);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_vulkan_image */
|
||||
|
||||
#ifndef GL_NV_robustness_video_memory
|
||||
#define GL_NV_robustness_video_memory
|
||||
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
|
||||
#endif /* GL_NV_robustness_video_memory */
|
||||
|
||||
#ifndef GL_ANGLE_get_serialized_context_string
|
||||
#define GL_ANGLE_get_serialized_context_string
|
||||
#define GL_SERIALIZED_CONTEXT_STRING_ANGLE 0x96B0
|
||||
#endif /* GL_ANGLE_get_serialized_context_string */
|
||||
|
||||
#ifndef GL_ANGLE_robust_fragment_shader_output
|
||||
#define GL_ANGLE_robust_fragment_shader_output
|
||||
#define GL_ROBUST_FRAGMENT_SHADER_OUTPUT_ANGLE 0x96B9
|
||||
#endif /* GL_ANGLE_robust_fragment_shader_output */
|
||||
|
||||
#ifndef GL_ANGLE_shader_pixel_local_storage
|
||||
#define GL_ANGLE_shader_pixel_local_storage 1
|
||||
#define GL_MAX_PIXEL_LOCAL_STORAGE_PLANES_ANGLE 0x96E0
|
||||
#define GL_MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE 0x96E1
|
||||
#define GL_MAX_COMBINED_DRAW_BUFFERS_AND_PIXEL_LOCAL_STORAGE_PLANES_ANGLE 0x96E2
|
||||
#define GL_PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE 0x96E3
|
||||
#define GL_LOAD_OP_ZERO_ANGLE 0x96E4
|
||||
#define GL_LOAD_OP_CLEAR_ANGLE 0x96E5
|
||||
#define GL_LOAD_OP_LOAD_ANGLE 0x96E6
|
||||
#define GL_STORE_OP_STORE_ANGLE 0x96E7
|
||||
#define GL_PIXEL_LOCAL_FORMAT_ANGLE 0x96E8
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_NAME_ANGLE 0x96E9
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_LEVEL_ANGLE 0x96EA
|
||||
#define GL_PIXEL_LOCAL_TEXTURE_LAYER_ANGLE 0x96EB
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_FLOAT_ANGLE 0x96EC
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_INT_ANGLE 0x96ED
|
||||
#define GL_PIXEL_LOCAL_CLEAR_VALUE_UNSIGNED_INT_ANGLE 0x96EE
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERMEMORYLESSPIXELLOCALSTORAGEANGLEPROC) (GLint plane, GLenum internalformat);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREPIXELLOCALSTORAGEANGLEPROC) (GLint plane, GLuint backingtexture, GLint level, GLint layer);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEFVANGLEPROC) (GLint plane, const GLfloat value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEIVANGLEPROC) (GLint plane, const GLint value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALCLEARVALUEUIVANGLEPROC) (GLint plane, const GLuint value[]);
|
||||
typedef void (GL_APIENTRYP PFNGLBEGINPIXELLOCALSTORAGEANGLEPROC) (GLsizei n, const GLenum loadops[]);
|
||||
typedef void (GL_APIENTRYP PFNGLENDPIXELLOCALSTORAGEANGLEPROC) (GLsizei n, const GLenum storeops[]);
|
||||
typedef void (GL_APIENTRYP PFNGLPIXELLOCALSTORAGEBARRIERANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGEINTERRUPTANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGERESTOREANGLEPROC) (void);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVANGLEPROC) (GLint plane, GLenum pname, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVANGLEPROC) (GLint plane, GLenum pname, GLint *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERFVROBUSTANGLEPROC) (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGEPARAMETERIVROBUSTANGLEPROC) (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glFramebufferMemorylessPixelLocalStorageANGLE (GLint plane, GLenum internalformat);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferTexturePixelLocalStorageANGLE (GLint plane, GLuint backingtexture, GLint level, GLint layer);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValuefvANGLE (GLint plane, const GLfloat value[]);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueivANGLE (GLint plane, const GLint value[]);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalClearValueuivANGLE (GLint plane, const GLuint value[]);
|
||||
GL_APICALL void GL_APIENTRY glBeginPixelLocalStorageANGLE (GLsizei n, const GLenum loadops[]);
|
||||
GL_APICALL void GL_APIENTRY glEndPixelLocalStorageANGLE (GLsizei n, const GLenum storeops[]);
|
||||
GL_APICALL void GL_APIENTRY glPixelLocalStorageBarrierANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageInterruptANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageRestoreANGLE (void);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvANGLE (GLint plane, GLenum pname, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivANGLE (GLint plane, GLenum pname, GLint *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterfvRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLfloat *params);
|
||||
GL_APICALL void GL_APIENTRY glGetFramebufferPixelLocalStorageParameterivRobustANGLE (GLint plane, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *params);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_shader_pixel_local_storage */
|
||||
|
||||
// clang-format on
|
||||
|
||||
#ifndef GL_ANGLE_yuv_internal_format
|
||||
#define GL_ANGLE_yuv_internal_format
|
||||
|
||||
// YUV formats introduced by GL_ANGLE_yuv_internal_format
|
||||
// 8-bit YUV formats
|
||||
#define GL_G8_B8R8_2PLANE_420_UNORM_ANGLE 0x96B1
|
||||
#define GL_G8_B8_R8_3PLANE_420_UNORM_ANGLE 0x96B2
|
||||
|
||||
// 10-bit YUV formats
|
||||
#define GL_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B3
|
||||
#define GL_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B4
|
||||
|
||||
// 12-bit YUV formats
|
||||
#define GL_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_ANGLE 0x96B5
|
||||
#define GL_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_ANGLE 0x96B6
|
||||
|
||||
// 16-bit YUV formats
|
||||
#define GL_G16_B16R16_2PLANE_420_UNORM_ANGLE 0x96B7
|
||||
#define GL_G16_B16_R16_3PLANE_420_UNORM_ANGLE 0x96B8
|
||||
|
||||
#endif /* GL_ANGLE_yuv_internal_format */
|
||||
|
||||
#ifndef GL_ANGLE_rgbx_internal_format
|
||||
#define GL_ANGLE_rgbx_internal_format
|
||||
|
||||
#define GL_RGBX8_ANGLE 0x96BA
|
||||
|
||||
#endif /* GL_ANGLE_rgbx_internal_format */
|
||||
|
||||
#ifndef GL_ANGLE_shader_binary
|
||||
#define GL_ANGLE_shader_binary
|
||||
|
||||
// General shader binary format
|
||||
#define GL_SHADER_BINARY_ANGLE 0x96BB
|
||||
|
||||
#endif /* GL_ANGLE_shader_binary */
|
||||
|
||||
#ifndef GL_ANGLE_logic_op
|
||||
#define GL_ANGLE_logic_op
|
||||
|
||||
// Enums identical to GLES1 and desktop GL
|
||||
#define GL_COLOR_LOGIC_OP_ANGLE 0x0BF2
|
||||
#define GL_LOGIC_OP_CLEAR_ANGLE 0x1500
|
||||
#define GL_LOGIC_OP_AND_ANGLE 0x1501
|
||||
#define GL_LOGIC_OP_AND_REVERSE_ANGLE 0x1502
|
||||
#define GL_LOGIC_OP_COPY_ANGLE 0x1503
|
||||
#define GL_LOGIC_OP_AND_INVERTED_ANGLE 0x1504
|
||||
#define GL_LOGIC_OP_NOOP_ANGLE 0x1505
|
||||
#define GL_LOGIC_OP_XOR_ANGLE 0x1506
|
||||
#define GL_LOGIC_OP_OR_ANGLE 0x1507
|
||||
#define GL_LOGIC_OP_NOR_ANGLE 0x1508
|
||||
#define GL_LOGIC_OP_EQUIV_ANGLE 0x1509
|
||||
#define GL_LOGIC_OP_INVERT_ANGLE 0x150A
|
||||
#define GL_LOGIC_OP_OR_REVERSE_ANGLE 0x150B
|
||||
#define GL_LOGIC_OP_COPY_INVERTED_ANGLE 0x150C
|
||||
#define GL_LOGIC_OP_OR_INVERTED_ANGLE 0x150D
|
||||
#define GL_LOGIC_OP_NAND_ANGLE 0x150E
|
||||
#define GL_LOGIC_OP_SET_ANGLE 0x150F
|
||||
typedef void (GL_APIENTRYP PFNGLLOGICOPANGLEPROC) (GLenum);
|
||||
#ifdef GL_GLEXT_PROTOTYPES
|
||||
GL_APICALL void GL_APIENTRY glLogicOpANGLE (GLenum);
|
||||
#endif
|
||||
#endif /* GL_ANGLE_logic_op */
|
||||
|
||||
#ifndef GL_ANGLE_program_binary_readiness_query
|
||||
#define GL_ANGLE_program_binary_readiness_query
|
||||
#define GL_PROGRAM_BINARY_READY_ANGLE 0x96BE
|
||||
#endif /* GL_ANGLE_program_binary_readiness_query */
|
||||
|
||||
#endif // INCLUDE_GLES2_GL2EXT_ANGLE_H_
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
#ifndef __gl2platform_h_
|
||||
#define __gl2platform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2017-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APICALL
|
||||
#define GL_APICALL KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __gl2platform_h_ */
|
||||
+1200
File diff suppressed because it is too large
Load Diff
+1515
File diff suppressed because it is too large
Load Diff
+1816
File diff suppressed because it is too large
Load Diff
+31
@@ -0,0 +1,31 @@
|
||||
#ifndef __gl3platform_h_
|
||||
#define __gl3platform_h_
|
||||
|
||||
/*
|
||||
** Copyright 2017-2020 The Khronos Group Inc.
|
||||
** SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h
|
||||
*
|
||||
* Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
* Please contribute modifications back to Khronos as pull requests on the
|
||||
* public github repository:
|
||||
* https://github.com/KhronosGroup/OpenGL-Registry
|
||||
*/
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/KHR/khrplatform.h>
|
||||
#else
|
||||
#include <KHR/khrplatform.h>
|
||||
#endif
|
||||
|
||||
#ifndef GL_APICALL
|
||||
#define GL_APICALL KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
#ifndef GL_APIENTRY
|
||||
#define GL_APIENTRY KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
#endif /* __gl3platform_h_ */
|
||||
+290
@@ -0,0 +1,290 @@
|
||||
#ifndef __khrplatform_h_
|
||||
#define __khrplatform_h_
|
||||
|
||||
/*
|
||||
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||
**
|
||||
** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
** copy of this software and/or associated documentation files (the
|
||||
** "Materials"), to deal in the Materials without restriction, including
|
||||
** without limitation the rights to use, copy, modify, merge, publish,
|
||||
** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
** permit persons to whom the Materials are furnished to do so, subject to
|
||||
** the following conditions:
|
||||
**
|
||||
** The above copyright notice and this permission notice shall be included
|
||||
** in all copies or substantial portions of the Materials.
|
||||
**
|
||||
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
*/
|
||||
|
||||
/* Khronos platform-specific types and definitions.
|
||||
*
|
||||
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
||||
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
||||
* The last semantic modification to khrplatform.h was at commit ID:
|
||||
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
||||
*
|
||||
* Adopters may modify this file to suit their platform. Adopters are
|
||||
* encouraged to submit platform specific modifications to the Khronos
|
||||
* group so that they can be included in future versions of this file.
|
||||
* Please submit changes by filing pull requests or issues on
|
||||
* the EGL Registry repository linked above.
|
||||
*
|
||||
*
|
||||
* See the Implementer's Guidelines for information about where this file
|
||||
* should be located on your system and for more details of its use:
|
||||
* http://www.khronos.org/registry/implementers_guide.pdf
|
||||
*
|
||||
* This file should be included as
|
||||
* #include <KHR/khrplatform.h>
|
||||
* by Khronos client API header files that use its types and defines.
|
||||
*
|
||||
* The types in khrplatform.h should only be used to define API-specific types.
|
||||
*
|
||||
* Types defined in khrplatform.h:
|
||||
* khronos_int8_t signed 8 bit
|
||||
* khronos_uint8_t unsigned 8 bit
|
||||
* khronos_int16_t signed 16 bit
|
||||
* khronos_uint16_t unsigned 16 bit
|
||||
* khronos_int32_t signed 32 bit
|
||||
* khronos_uint32_t unsigned 32 bit
|
||||
* khronos_int64_t signed 64 bit
|
||||
* khronos_uint64_t unsigned 64 bit
|
||||
* khronos_intptr_t signed same number of bits as a pointer
|
||||
* khronos_uintptr_t unsigned same number of bits as a pointer
|
||||
* khronos_ssize_t signed size
|
||||
* khronos_usize_t unsigned size
|
||||
* khronos_float_t signed 32 bit floating point
|
||||
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
||||
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
||||
* nanoseconds
|
||||
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
||||
* khronos_boolean_enum_t enumerated boolean type. This should
|
||||
* only be used as a base type when a client API's boolean type is
|
||||
* an enum. Client APIs which use an integer or other type for
|
||||
* booleans cannot use this as the base type for their boolean.
|
||||
*
|
||||
* Tokens defined in khrplatform.h:
|
||||
*
|
||||
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
||||
*
|
||||
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
||||
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
||||
*
|
||||
* Calling convention macros defined in this file:
|
||||
* KHRONOS_APICALL
|
||||
* KHRONOS_APIENTRY
|
||||
* KHRONOS_APIATTRIBUTES
|
||||
*
|
||||
* These may be used in function prototypes as:
|
||||
*
|
||||
* KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
|
||||
* int arg1,
|
||||
* int arg2) KHRONOS_APIATTRIBUTES;
|
||||
*/
|
||||
|
||||
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
||||
# define KHRONOS_STATIC 1
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APICALL
|
||||
*-------------------------------------------------------------------------
|
||||
* This precedes the return type of the function in the function prototype.
|
||||
*/
|
||||
#if defined(KHRONOS_STATIC)
|
||||
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
||||
* header compatible with static linking. */
|
||||
# define KHRONOS_APICALL
|
||||
#elif defined(_WIN32)
|
||||
# define KHRONOS_APICALL __declspec(dllimport)
|
||||
#elif defined (__SYMBIAN32__)
|
||||
# define KHRONOS_APICALL IMPORT_C
|
||||
#elif defined(__ANDROID__)
|
||||
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
||||
#else
|
||||
# define KHRONOS_APICALL
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIENTRY
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the return type of the function and precedes the function
|
||||
* name in the function prototype.
|
||||
*/
|
||||
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
||||
/* Win32 but not WinCE */
|
||||
# define KHRONOS_APIENTRY __stdcall
|
||||
#else
|
||||
# define KHRONOS_APIENTRY
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Definition of KHRONOS_APIATTRIBUTES
|
||||
*-------------------------------------------------------------------------
|
||||
* This follows the closing parenthesis of the function prototype arguments.
|
||||
*/
|
||||
#if defined (__ARMCC_2__)
|
||||
#define KHRONOS_APIATTRIBUTES __softfp
|
||||
#else
|
||||
#define KHRONOS_APIATTRIBUTES
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* basic type definitions
|
||||
*-----------------------------------------------------------------------*/
|
||||
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
||||
|
||||
|
||||
/*
|
||||
* Using <stdint.h>
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__VMS ) || defined(__sgi)
|
||||
|
||||
/*
|
||||
* Using <inttypes.h>
|
||||
*/
|
||||
#include <inttypes.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
||||
|
||||
/*
|
||||
* Win32
|
||||
*/
|
||||
typedef __int32 khronos_int32_t;
|
||||
typedef unsigned __int32 khronos_uint32_t;
|
||||
typedef __int64 khronos_int64_t;
|
||||
typedef unsigned __int64 khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif defined(__sun__) || defined(__digital__)
|
||||
|
||||
/*
|
||||
* Sun or Digital
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#if defined(__arch64__) || defined(_LP64)
|
||||
typedef long int khronos_int64_t;
|
||||
typedef unsigned long int khronos_uint64_t;
|
||||
#else
|
||||
typedef long long int khronos_int64_t;
|
||||
typedef unsigned long long int khronos_uint64_t;
|
||||
#endif /* __arch64__ */
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#elif 0
|
||||
|
||||
/*
|
||||
* Hypothetical platform with no float or int64 support
|
||||
*/
|
||||
typedef int khronos_int32_t;
|
||||
typedef unsigned int khronos_uint32_t;
|
||||
#define KHRONOS_SUPPORT_INT64 0
|
||||
#define KHRONOS_SUPPORT_FLOAT 0
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
* Generic fallback
|
||||
*/
|
||||
#include <stdint.h>
|
||||
typedef int32_t khronos_int32_t;
|
||||
typedef uint32_t khronos_uint32_t;
|
||||
typedef int64_t khronos_int64_t;
|
||||
typedef uint64_t khronos_uint64_t;
|
||||
#define KHRONOS_SUPPORT_INT64 1
|
||||
#define KHRONOS_SUPPORT_FLOAT 1
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* Types that are (so far) the same on all platforms
|
||||
*/
|
||||
typedef signed char khronos_int8_t;
|
||||
typedef unsigned char khronos_uint8_t;
|
||||
typedef signed short int khronos_int16_t;
|
||||
typedef unsigned short int khronos_uint16_t;
|
||||
|
||||
/*
|
||||
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
||||
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
||||
* to be the only LLP64 architecture in current use.
|
||||
*/
|
||||
#ifdef _WIN64
|
||||
typedef signed long long int khronos_intptr_t;
|
||||
typedef unsigned long long int khronos_uintptr_t;
|
||||
typedef signed long long int khronos_ssize_t;
|
||||
typedef unsigned long long int khronos_usize_t;
|
||||
#else
|
||||
typedef signed long int khronos_intptr_t;
|
||||
typedef unsigned long int khronos_uintptr_t;
|
||||
typedef signed long int khronos_ssize_t;
|
||||
typedef unsigned long int khronos_usize_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_FLOAT
|
||||
/*
|
||||
* Float type
|
||||
*/
|
||||
typedef float khronos_float_t;
|
||||
#endif
|
||||
|
||||
#if KHRONOS_SUPPORT_INT64
|
||||
/* Time types
|
||||
*
|
||||
* These types can be used to represent a time interval in nanoseconds or
|
||||
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
||||
* of nanoseconds since some arbitrary system event (e.g. since the last
|
||||
* time the system booted). The Unadjusted System Time is an unsigned
|
||||
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
||||
* may be either signed or unsigned.
|
||||
*/
|
||||
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
||||
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Dummy value used to pad enum types to 32 bits.
|
||||
*/
|
||||
#ifndef KHRONOS_MAX_ENUM
|
||||
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Enumerated boolean type
|
||||
*
|
||||
* Values other than zero should be considered to be true. Therefore
|
||||
* comparisons should not be made against KHRONOS_TRUE.
|
||||
*/
|
||||
typedef enum {
|
||||
KHRONOS_FALSE = 0,
|
||||
KHRONOS_TRUE = 1,
|
||||
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
||||
} khronos_boolean_enum_t;
|
||||
|
||||
#endif /* __khrplatform_h_ */
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#import <MetalANGLEKit/MGLLayer.h>
|
||||
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef enum MGLRenderingAPI : int
|
||||
{
|
||||
kMGLRenderingAPIOpenGLES1 = 1,
|
||||
kMGLRenderingAPIOpenGLES2 = 2,
|
||||
kMGLRenderingAPIOpenGLES3 = 3,
|
||||
} MGLRenderingAPI;
|
||||
|
||||
@interface MGLSharegroup : NSObject
|
||||
@end
|
||||
|
||||
@interface MGLContext : NSObject
|
||||
|
||||
- (id)initWithAPI:(MGLRenderingAPI)api;
|
||||
|
||||
// NOTE: If you use sharegroup to share resources between contexts, make sure to call glFlush()
|
||||
// when you finish the works of one context on a thread to make the changes visible to other
|
||||
// contexts.
|
||||
- (id)initWithAPI:(MGLRenderingAPI)api sharegroup:(MGLSharegroup *_Nullable)sharegroup;
|
||||
|
||||
@property(nonatomic, readonly) MGLRenderingAPI API;
|
||||
|
||||
@property(readonly) MGLSharegroup *sharegroup;
|
||||
|
||||
@property(nonatomic, readonly) EGLDisplay eglDisplay;
|
||||
|
||||
// Present the content of layer on screen as soon as possible.
|
||||
- (BOOL)present:(MGLLayer *)layer;
|
||||
|
||||
+ (MGLContext *)currentContext;
|
||||
+ (MGLLayer *)currentLayer;
|
||||
|
||||
// Set current context without layer. NOTE: this function is only useful if you want to
|
||||
// create OpenGL resources such as textures/buffers before creating the presentation layer.
|
||||
// Before drawing to a layer, use [MGLContext setCurrentContext: forLayer:] function instead.
|
||||
+ (BOOL)setCurrentContext:(MGLContext *_Nullable)context;
|
||||
|
||||
// Set current context to render to the given layer.
|
||||
+ (BOOL)setCurrentContext:(MGLContext *_Nullable)context forLayer:(MGLLayer *_Nullable)layer;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKitCommon_h
|
||||
#define MGLKitCommon_h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#include <MetalANGLEKit/EGL/egl.h>
|
||||
|
||||
@interface MGLDisplay : NSObject
|
||||
|
||||
@property(nonatomic, readonly) EGLDisplay eglDisplay;
|
||||
|
||||
+ (MGLDisplay *)defaultDisplay;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* MGLKitCommon_h */
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKView_h
|
||||
#define MGLKView_h
|
||||
|
||||
#import <MetalANGLEKit/MGLContext.h>
|
||||
|
||||
@class MGLKView;
|
||||
|
||||
@protocol MGLKViewDelegate <NSObject>
|
||||
|
||||
// Implement this method to draw to the view using current OpenGL
|
||||
// context associated with the view.
|
||||
- (void)mglkView:(MGLKView *)view drawInRect:(CGRect)rect;
|
||||
|
||||
@end
|
||||
|
||||
// NOTE: do not subclass this class, use delegate if needed to override
|
||||
// the drawing method.
|
||||
@interface MGLKView : MGLKNativeView
|
||||
|
||||
@property(nonatomic) MGLContext *context;
|
||||
@property(nonatomic, assign) IBOutlet id<MGLKViewDelegate> delegate;
|
||||
|
||||
// Default value is NO. Setting to YES will keep the framebuffer data after presenting.
|
||||
// Doing so will reduce performance and increase memory usage.
|
||||
@property(nonatomic) BOOL retainedBacking;
|
||||
@property(nonatomic) MGLDrawableColorFormat drawableColorFormat; // Default is RGBA8888
|
||||
@property(nonatomic) MGLDrawableDepthFormat drawableDepthFormat; // Default is DepthNone
|
||||
@property(nonatomic) MGLDrawableStencilFormat drawableStencilFormat; // Default is StencilNone
|
||||
@property(nonatomic)
|
||||
MGLDrawableMultisample drawableMultisample; // Default is MGLDrawableMultisampleNone
|
||||
|
||||
@property(nonatomic, weak, readonly) MGLLayer *glLayer;
|
||||
|
||||
// Return the size of the OpenGL default framebuffer.
|
||||
@property(readonly) CGSize drawableSize;
|
||||
@property(nonatomic, readonly) NSInteger drawableWidth;
|
||||
@property(nonatomic, readonly) NSInteger drawableHeight;
|
||||
|
||||
// OpenGL id of the underlying default framebuffer object.
|
||||
// Might not necessary be zero.
|
||||
@property(readonly) uint32_t defaultOpenGLFrameBufferID;
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_TV
|
||||
// Enable setNeedsDisplay method.
|
||||
@property(nonatomic) BOOL enableSetNeedsDisplay;
|
||||
@property(readonly, strong) UIImage *snapshot;
|
||||
#endif
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame context:(MGLContext *)context;
|
||||
|
||||
// Redraw the view's contents immediately.
|
||||
- (void)display;
|
||||
|
||||
// Binds the underlying default framebuffer object to OpenGL ES.
|
||||
// Use this after drawing to offscreen FBO.
|
||||
- (void)bindDrawable;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* MLKView_h */
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#import <MetalANGLEKit/MGLKView.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class MGLKViewController;
|
||||
|
||||
@protocol MGLKViewControllerDelegate <NSObject>
|
||||
|
||||
- (void)mglkViewControllerUpdate:(MGLKViewController *)controller;
|
||||
|
||||
@end
|
||||
|
||||
@interface MGLKViewController : MGLKNativeViewController <MGLKViewDelegate>
|
||||
|
||||
@property(nonatomic, assign) IBOutlet id<MGLKViewControllerDelegate> delegate;
|
||||
|
||||
// The default value is 30.
|
||||
// On iOS:
|
||||
// - Setting to 0 or 1 will sync the framerate with display's refresh rate
|
||||
// On macOS:
|
||||
// - Setting to 1 will sync the framerate with display's refresh rate
|
||||
// - Setting to 0 will display the frames as fast as possible.
|
||||
@property(nonatomic) NSInteger preferredFramesPerSecond;
|
||||
|
||||
@property(nonatomic, readonly) NSInteger framesDisplayed;
|
||||
@property(nonatomic, readonly) NSTimeInterval timeSinceLastUpdate;
|
||||
|
||||
@property(nonatomic, getter=isPaused) BOOL paused;
|
||||
@property(nonatomic) BOOL pauseOnWillResignActive;
|
||||
@property(nonatomic) BOOL resumeOnDidBecomeActive;
|
||||
|
||||
@property(weak, nonatomic, readonly) MGLKView *glView;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// Copyright 2020 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
#ifndef MGLKitPlatform_h
|
||||
#define MGLKitPlatform_h
|
||||
|
||||
#include <TargetConditionals.h>
|
||||
|
||||
#if TARGET_OS_IOS || TARGET_OS_MACCATALYST || TARGET_OS_TV
|
||||
# include <UIKit/UIKit.h>
|
||||
|
||||
@compatibility_alias MGLKNativeView UIView;
|
||||
@compatibility_alias MGLKNativeViewController UIViewController;
|
||||
|
||||
# define MGLKApplicationWillResignActiveNotification UIApplicationWillResignActiveNotification
|
||||
# define MGLKApplicationDidBecomeActiveNotification UIApplicationDidBecomeActiveNotification
|
||||
|
||||
#elif TARGET_OS_OSX
|
||||
# include <Cocoa/Cocoa.h>
|
||||
|
||||
@compatibility_alias MGLKNativeView NSView;
|
||||
@compatibility_alias MGLKNativeViewController NSViewController;
|
||||
|
||||
# define MGLKApplicationWillResignActiveNotification NSApplicationWillResignActiveNotification
|
||||
# define MGLKApplicationDidBecomeActiveNotification NSApplicationDidBecomeActiveNotification
|
||||
#else
|
||||
# error "Unsupported platform"
|
||||
#endif
|
||||
|
||||
#endif /* MGLKitPlatform_h */
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
//
|
||||
// Copyright 2019 Le Hoang Quyen. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// We don't use GLES from Apple framework.
|
||||
// Instead we use GLES provided by MetalANGLE.
|
||||
#define GLES_SILENCE_DEPRECATION
|
||||
#define GL_SILENCE_DEPRECATION
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <QuartzCore/CALayer.h>
|
||||
|
||||
#import <MetalANGLEKit/MGLKitPlatform.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class MGLContext;
|
||||
|
||||
typedef enum MGLDrawableColorFormat : int
|
||||
{
|
||||
MGLDrawableColorFormatRGBA8888 = 32,
|
||||
MGLDrawableColorFormatSRGBA8888 = -32,
|
||||
MGLDrawableColorFormatRGB565 = 16,
|
||||
} MGLDrawableColorFormat;
|
||||
|
||||
typedef enum MGLDrawableStencilFormat : int
|
||||
{
|
||||
MGLDrawableStencilFormatNone = 0,
|
||||
MGLDrawableStencilFormat8 = 8,
|
||||
} MGLDrawableStencilFormat;
|
||||
|
||||
typedef enum MGLDrawableDepthFormat : int
|
||||
{
|
||||
MGLDrawableDepthFormatNone = 0,
|
||||
MGLDrawableDepthFormat16 = 16,
|
||||
MGLDrawableDepthFormat24 = 24,
|
||||
} MGLDrawableDepthFormat;
|
||||
|
||||
typedef enum MGLDrawableMultisample : int
|
||||
{
|
||||
MGLDrawableMultisampleNone = 0,
|
||||
MGLDrawableMultisample4X = 4,
|
||||
} MGLDrawableMultisample;
|
||||
|
||||
@interface MGLLayer : CALayer
|
||||
|
||||
// Return the size of the OpenGL framebuffer.
|
||||
@property(readonly) CGSize drawableSize;
|
||||
// Default OpenGL id of the framebuffer storing content of this layer.
|
||||
// Might not necessary be zero.
|
||||
@property(readonly) uint32_t defaultOpenGLFrameBufferID;
|
||||
|
||||
@property(nonatomic) MGLDrawableColorFormat drawableColorFormat; // Default is RGBA8888
|
||||
@property(nonatomic) MGLDrawableDepthFormat drawableDepthFormat; // Default is DepthNone
|
||||
@property(nonatomic) MGLDrawableStencilFormat drawableStencilFormat; // Default is StencilNone
|
||||
@property(nonatomic)
|
||||
MGLDrawableMultisample drawableMultisample; // Default is MGLDrawableMultisampleNone
|
||||
|
||||
// Default value is NO. Setting to YES will keep the framebuffer data after presenting.
|
||||
// Doing so will reduce performance and increase memory usage.
|
||||
@property(nonatomic) BOOL retainedBacking;
|
||||
|
||||
// Present the content of OpenGL backed framebuffer on screen as soon as possible.
|
||||
- (BOOL)present;
|
||||
|
||||
// Bind default framebuffer. Use this after drawing to offscreen FBO.
|
||||
- (void)bindDefaultFrameBuffer;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// MetalANGLEKit.h
|
||||
// MetalANGLEKit
|
||||
//
|
||||
// Created by berstanio on 13.08.24.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
//! Project version number for MetalANGLEKit.
|
||||
FOUNDATION_EXPORT double MetalANGLEKitVersionNumber;
|
||||
|
||||
//! Project version string for MetalANGLEKit.
|
||||
FOUNDATION_EXPORT const unsigned char MetalANGLEKitVersionString[];
|
||||
|
||||
#ifndef METALANGLEKIT_INCLUDE
|
||||
#define METALANGLEKIT_INCLUDE
|
||||
#endif
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <MetalANGLEKit/PublicHeader.h>
|
||||
#import <MetalANGLEKit/MGLContext.h>
|
||||
#import <MetalANGLEKit/MGLLayer.h>
|
||||
#import <MetalANGLEKit/MGLKView.h>
|
||||
#import <MetalANGLEKit/MGLKViewController.h>
|
||||
#import <MetalANGLEKit/MGLKitPlatform.h>
|
||||
#import <MetalANGLEKit/MGLDisplay.h>
|
||||
#import <MetalANGLEKit/EGL/eglext.h>
|
||||
#import <MetalANGLEKit/GLES/egl.h>
|
||||
#import <MetalANGLEKit/GLES/glext.h>
|
||||
#import <MetalANGLEKit/GLES2/gl2.h>
|
||||
#import <MetalANGLEKit/GLES2/gl2ext.h>
|
||||
#import <MetalANGLEKit/GLES3/gl3.h>
|
||||
#import <MetalANGLEKit/GLES3/gl31.h>
|
||||
#import <MetalANGLEKit/GLES3/gl32.h>
|
||||
#import <MetalANGLEKit/feature_support_util.h>
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
//
|
||||
// Copyright 2014 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// export.h : Defines ANGLE_EXPORT, a macro for exporting functions from the DLL
|
||||
|
||||
#ifndef LIBGLESV2_EXPORT_H_
|
||||
#define LIBGLESV2_EXPORT_H_
|
||||
|
||||
#if !defined(ANGLE_EXPORT)
|
||||
# if defined(_WIN32)
|
||||
# if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
|
||||
defined(LIBFEATURE_SUPPORT_IMPLEMENTATION) || defined(LIBCL_IMPLEMENTATION)
|
||||
# define ANGLE_EXPORT __declspec(dllexport)
|
||||
# else
|
||||
# define ANGLE_EXPORT __declspec(dllimport)
|
||||
# endif
|
||||
# elif defined(__GNUC__)
|
||||
# if defined(LIBGLESV2_IMPLEMENTATION) || defined(LIBANGLE_IMPLEMENTATION) || \
|
||||
defined(LIBFEATURE_SUPPORT_IMPLEMENTATION) || defined(LIBCL_IMPLEMENTATION)
|
||||
# define ANGLE_EXPORT __attribute__((visibility("default")))
|
||||
# else
|
||||
# define ANGLE_EXPORT
|
||||
# endif
|
||||
# else
|
||||
# define ANGLE_EXPORT
|
||||
# endif
|
||||
#endif // !defined(ANGLE_EXPORT)
|
||||
|
||||
#if !defined(ANGLE_NO_EXPORT)
|
||||
# if defined(__GNUC__)
|
||||
# define ANGLE_NO_EXPORT __attribute__((visibility("hidden")))
|
||||
# else
|
||||
# define ANGLE_NO_EXPORT
|
||||
# endif
|
||||
#endif // !defined(ANGLE_NO_EXPORT)
|
||||
|
||||
#endif // LIBGLESV2_EXPORT_H_
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
//
|
||||
// Copyright 2018 The ANGLE Project Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
//
|
||||
|
||||
// feature_support_util.h: Internal-to-ANGLE header file for feature-support utilities.
|
||||
|
||||
#ifndef FEATURE_SUPPORT_UTIL_H_
|
||||
#define FEATURE_SUPPORT_UTIL_H_
|
||||
|
||||
#if 1
|
||||
#include <MetalANGLEKit/export.h>
|
||||
#else
|
||||
#include "export.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/**************************************************************************************************
|
||||
*
|
||||
* The following is the "version 2" private API for the Android EGL loader:
|
||||
*
|
||||
**************************************************************************************************/
|
||||
|
||||
// Typedefs for handles:
|
||||
typedef void *RulesHandle;
|
||||
typedef void *SystemInfoHandle;
|
||||
|
||||
// Callers of the ANGLE feature-support-utility API (e.g. the Android EGL loader) will call this
|
||||
// function in order to determine what version of the API it can use (if any).
|
||||
//
|
||||
// The caller supplies the highest version of the API that it knows about. If that version is
|
||||
// supported by the feature-support-utility, true is returned and the version isn't changed. If
|
||||
// the supplied version is higher than supported by the feature-support-utility, true is
|
||||
// returned and the version is changed to the highest supported by the feature-support-utility.
|
||||
// If the supplied version is lower than supported by the feature-support-utility, false is
|
||||
// returned.
|
||||
//
|
||||
// Parameters:
|
||||
//
|
||||
// - versionToUse (IN/OUT) - The application supplies the highest version of the interface that
|
||||
// it knows about. If successful, the output value is either
|
||||
// unchanged or is the highest supported by the interface.
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEGetFeatureSupportUtilAPIVersion(unsigned int *versionToUse);
|
||||
|
||||
ANGLE_EXPORT bool ANGLEIsMetalRendererAvailable();
|
||||
|
||||
// The Android EGL loader will call this function in order to parse a rules file
|
||||
// and create a set of rules, for which a handle is returned.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesString (IN) - Rules-file contents, as a non-zero length, null-terminated char*
|
||||
// string
|
||||
// - rulesHandle (OUT) - Handle to the rules data structure
|
||||
// - rulesVersion (OUT) - Version of the rules data structure (potentially because of schema
|
||||
// changes) that should be passed to ANGLEShouldBeUsedForApplication()
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEAndroidParseRulesString(const char *rulesString,
|
||||
RulesHandle *rulesHandle,
|
||||
int *rulesVersion);
|
||||
|
||||
// The Android EGL loader will call this function in order to obtain a handle to
|
||||
// the SystemInfo struct.
|
||||
//
|
||||
// Parameters:
|
||||
// - systemInfoHandle (OUT) - handle to the SystemInfo structure
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEGetSystemInfo(SystemInfoHandle *systemInfoHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to add the device's manufacturer and
|
||||
// model to the SystemInfo struct associated with the handle returned by ANGLEGetSystemInfo.
|
||||
//
|
||||
// Parameters:
|
||||
// - deviceMfr (IN) - Device manufacturer, from the
|
||||
// "ro.product.manufacturer"com.google.android" property
|
||||
// - deviceModel (IN) - Device model, from the "ro.product.model"com.google.android" property
|
||||
// - systemInfoHandle (IN) - handle to the SystemInfo structure
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if no errors, otherwise false
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEAddDeviceInfoToSystemInfo(const char *deviceMfr,
|
||||
const char *deviceModel,
|
||||
SystemInfoHandle systemInfoHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to determine whether
|
||||
// to use ANGLE instead of a native OpenGL-ES (GLES) driver.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesHandle (IN) - Handle to the rules data structure
|
||||
// - rulesVersion (IN) - Version of the rules data structure (potentially because of schema
|
||||
// changes) that was passed from AndroidParseRulesFile()
|
||||
// - systemInfoHandle (IN) - Handle to the SystemInfo structure
|
||||
// - appName (IN) - Java name of the application (e.g. "com.google.android.apps.maps")
|
||||
//
|
||||
// Return value:
|
||||
// - bool - true if Android should use ANGLE for appName, otherwise false (i.e. use the native
|
||||
// GLES driver)
|
||||
//
|
||||
ANGLE_EXPORT bool ANGLEShouldBeUsedForApplication(const RulesHandle rulesHandle,
|
||||
int rulesVersion,
|
||||
const SystemInfoHandle systemInfoHandle,
|
||||
const char *appName);
|
||||
|
||||
// The Android EGL loader will call this function in order to free a rules handle.
|
||||
//
|
||||
// Parameters:
|
||||
// - rulesHandle (IN) - Handle to the rules data structure
|
||||
//
|
||||
ANGLE_EXPORT void ANGLEFreeRulesHandle(const RulesHandle rulesHandle);
|
||||
|
||||
// The Android EGL loader will call this function in order to free a SystemInfo handle.
|
||||
//
|
||||
// Parameters:
|
||||
// - systemInfoHandle (IN) - Handle to the SystemInfo structure
|
||||
//
|
||||
ANGLE_EXPORT void ANGLEFreeSystemInfoHandle(const SystemInfoHandle systemInfoHandle);
|
||||
|
||||
// The following are internal versions supported by the current feature-support-utility API.
|
||||
|
||||
#if 1
|
||||
#define kFeatureVersion_LowestSupported 2
|
||||
#define kFeatureVersion_HighestSupported 2
|
||||
#else
|
||||
constexpr unsigned int kFeatureVersion_LowestSupported = 2;
|
||||
constexpr unsigned int kFeatureVersion_HighestSupported = 2;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // FEATURE_SUPPORT_UTIL_H_
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
||||
framework module MetalANGLEKit {
|
||||
umbrella header "MetalANGLEKit.h"
|
||||
export *
|
||||
|
||||
module * { export * }
|
||||
}
|
||||
+465
@@ -0,0 +1,465 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Headers/EGL/.clang-format</key>
|
||||
<data>
|
||||
EVGYpPP82PdGnwfxctlIMbshPms=
|
||||
</data>
|
||||
<key>Headers/EGL/egl.h</key>
|
||||
<data>
|
||||
wOrtLTPMNBgHGyAqea4MuvoR7Lk=
|
||||
</data>
|
||||
<key>Headers/EGL/eglext.h</key>
|
||||
<data>
|
||||
3cXygwhde6tKz5O/qCpbsw8xjd0=
|
||||
</data>
|
||||
<key>Headers/EGL/eglext_angle.h</key>
|
||||
<data>
|
||||
d3lkS+V+YH7tjeVBa7J6Mw0dmDQ=
|
||||
</data>
|
||||
<key>Headers/EGL/eglplatform.h</key>
|
||||
<data>
|
||||
kMKDwMYAKwRJvdYTtNO4A4v+zzY=
|
||||
</data>
|
||||
<key>Headers/GLES/.clang-format</key>
|
||||
<data>
|
||||
EVGYpPP82PdGnwfxctlIMbshPms=
|
||||
</data>
|
||||
<key>Headers/GLES/README.md</key>
|
||||
<data>
|
||||
Yj6bzgXrTc6tc1EsTdo2rVQfT4k=
|
||||
</data>
|
||||
<key>Headers/GLES/egl.h</key>
|
||||
<data>
|
||||
nrWWvEayyZJemjRv+THkezmee8M=
|
||||
</data>
|
||||
<key>Headers/GLES/gl.h</key>
|
||||
<data>
|
||||
etjV1c74d+DpzRTaKs0RXTs3V2o=
|
||||
</data>
|
||||
<key>Headers/GLES/glext.h</key>
|
||||
<data>
|
||||
d12AILWKBL8rN2m9wLUQy54NpRA=
|
||||
</data>
|
||||
<key>Headers/GLES/glplatform.h</key>
|
||||
<data>
|
||||
LMDAwe6TJ16InooSTmqtB7oVjMI=
|
||||
</data>
|
||||
<key>Headers/GLES2/.clang-format</key>
|
||||
<data>
|
||||
EVGYpPP82PdGnwfxctlIMbshPms=
|
||||
</data>
|
||||
<key>Headers/GLES2/gl2.h</key>
|
||||
<data>
|
||||
U1Gyb3qsdO2X+1tkPunSqSaVVAc=
|
||||
</data>
|
||||
<key>Headers/GLES2/gl2ext.h</key>
|
||||
<data>
|
||||
awzzMg/XCLlAoCcMn0sVnPX4gtc=
|
||||
</data>
|
||||
<key>Headers/GLES2/gl2ext_angle.h</key>
|
||||
<data>
|
||||
ZK+eCz2wLhmz1DgmGUjOXh/qTZQ=
|
||||
</data>
|
||||
<key>Headers/GLES2/gl2platform.h</key>
|
||||
<data>
|
||||
Aijq3UUS/iKe7TaADyQ7TzR87IA=
|
||||
</data>
|
||||
<key>Headers/GLES3/.clang-format</key>
|
||||
<data>
|
||||
EVGYpPP82PdGnwfxctlIMbshPms=
|
||||
</data>
|
||||
<key>Headers/GLES3/gl3.h</key>
|
||||
<data>
|
||||
QSATv/bilr/Bq41zInZm9cd0NYs=
|
||||
</data>
|
||||
<key>Headers/GLES3/gl31.h</key>
|
||||
<data>
|
||||
5OK33adsRiEfq2iIRvg9m/rx2Wo=
|
||||
</data>
|
||||
<key>Headers/GLES3/gl32.h</key>
|
||||
<data>
|
||||
MGCyqd56gPmG877OV9T7otuBuwE=
|
||||
</data>
|
||||
<key>Headers/GLES3/gl3platform.h</key>
|
||||
<data>
|
||||
NEpweah5IbT2FxhtqKWa9/4XPCM=
|
||||
</data>
|
||||
<key>Headers/KHR/.clang-format</key>
|
||||
<data>
|
||||
EVGYpPP82PdGnwfxctlIMbshPms=
|
||||
</data>
|
||||
<key>Headers/KHR/khrplatform.h</key>
|
||||
<data>
|
||||
3keLA2iYnlfE0D9GWBR/sHVEFB4=
|
||||
</data>
|
||||
<key>Headers/MGLContext.h</key>
|
||||
<data>
|
||||
7I53U4cTAcNvo9W0S0iNdm0Z9j0=
|
||||
</data>
|
||||
<key>Headers/MGLDisplay.h</key>
|
||||
<data>
|
||||
Q3P2KaUvuC8DKIhCSj3SvW2d1M8=
|
||||
</data>
|
||||
<key>Headers/MGLKView.h</key>
|
||||
<data>
|
||||
ehojBBcDQDVHgLk/w22r1GS9LTk=
|
||||
</data>
|
||||
<key>Headers/MGLKViewController.h</key>
|
||||
<data>
|
||||
vn8UIDSRaGKYwRBlJWHQ+gq2C1g=
|
||||
</data>
|
||||
<key>Headers/MGLKitPlatform.h</key>
|
||||
<data>
|
||||
lNfQ16xsVuy5s2rGMHlX4984apU=
|
||||
</data>
|
||||
<key>Headers/MGLLayer.h</key>
|
||||
<data>
|
||||
dXbp2L8rVaOZtIyWyMsUNqsT0ug=
|
||||
</data>
|
||||
<key>Headers/MetalANGLEKit.h</key>
|
||||
<data>
|
||||
cI9zT3fyAZXEDqgUSlBAWLAEdSU=
|
||||
</data>
|
||||
<key>Headers/export.h</key>
|
||||
<data>
|
||||
8ald84oDsyiJnl+Xg0lNQZDN2gI=
|
||||
</data>
|
||||
<key>Headers/feature_support_util.h</key>
|
||||
<data>
|
||||
33ofrhT/mkORBE6dNjt8tLPznXY=
|
||||
</data>
|
||||
<key>Info.plist</key>
|
||||
<data>
|
||||
Slbehj4pkaPgecuau43pV0Axg0k=
|
||||
</data>
|
||||
<key>Modules/module.modulemap</key>
|
||||
<data>
|
||||
oLr8m2gt54JbO9931GSMoX5dhYU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Headers/EGL/.clang-format</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+EBb910asu0uabUlpTi0CbgBgSp8cSJdp7tGQ099zBg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/EGL/egl.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
qwd/53l7rfRzJnYD0LfSQvvdS7Zmf2MDulBlJ1CWiIA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/EGL/eglext.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
qEHM++KHF+Bh8uxt5SjrtExm6YhmwpUa0HCOZyrVzvU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/EGL/eglext_angle.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
tz967gE4v4reoK1+QRgjq/utNgzv5IdL4CmCaDpr4Nc=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/EGL/eglplatform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ApomPH7UwjbeUVm7qNaJXqtecwbQMvL0jOWETuJGAdA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/.clang-format</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+EBb910asu0uabUlpTi0CbgBgSp8cSJdp7tGQ099zBg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/README.md</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
1Y0WhKmyNSIz+tHR5OuMuB99jgkVRhUreUIqRT2b8d4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/egl.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
7RsoOrBxvRwbezCHk69x0ZJ6791PCL9x09+GNZpHDVI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/gl.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
JAD02eN8S0H632arkhiMDQEC6Dt+/fhn6KlWn4h4OR0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/glext.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
8GwV/hOvJE9oApuFNgK6IDh7TxIFVTQmMt123zKkZjE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES/glplatform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
5in2LKnZxD0CubVt98RXYqlHG9UADx54u4EEaYmH4KU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES2/.clang-format</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+EBb910asu0uabUlpTi0CbgBgSp8cSJdp7tGQ099zBg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES2/gl2.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
EgILGH1KvL+dQcfda9EssM8Jcu7bksmjEoQyD9jsk1k=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES2/gl2ext.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
0EklUY5wJz0Beq/NNiWFjKntVhCXGiw1WF/pxFaCExA=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES2/gl2ext_angle.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
HFsqq4tILRS649f7Qs0ZVSpxm2k4TD9kMgK7BL7GSYE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES2/gl2platform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
gCB1Hi+slxaU2Qz294R4GRRmWzNVWQ4YtFsoWvjPXZE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES3/.clang-format</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+EBb910asu0uabUlpTi0CbgBgSp8cSJdp7tGQ099zBg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES3/gl3.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
DtSPYL7DWxvmai0r+yJuXS+yt8yIaCajn04hgyzj360=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES3/gl31.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
a9PwC2LUTKtNJk9LHkrUVjrmJcE2oUz3vixW18q43r4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES3/gl32.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
5hMYddZVPeKDEQvhMxid+MSd7lJh6Ev2ku4GDXZcceo=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/GLES3/gl3platform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
m2PUPZ/i/DAF+6fbe3OOgBNYw2gxvTyIpsxSw9VQaTY=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/KHR/.clang-format</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
+EBb910asu0uabUlpTi0CbgBgSp8cSJdp7tGQ099zBg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/KHR/khrplatform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
4gamkx+Y/+HFx+zmnE+Uu+HJJ5JD9Ay+d4KEig0/ot4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLContext.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
1ntiwS5s3G76n9FQ8WBXD/bRJ4vkhe6oY7LCisKM1FI=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLDisplay.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
X5EnYuZmF4MFWfN1RvURRi4yYzN/uKnBGbCTdXOgg3Y=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLKView.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
vghHZWwboA+ZBDIPfMNHQQ3FmQXNpfdhtPRxDdKfyS0=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLKViewController.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
IODZEwG+n3HUBNkR3HS4zJowm/N8M0r9o7tdqo04X5w=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLKitPlatform.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
NlmIBoFnbpGB4/8KbQ5AYtDSJ6q0eGeO0kEyF3nbedg=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MGLLayer.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
/DgP57pw6ck1dcijN2rzjIRGXl3wWl1BcUuVs/rCNE4=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/MetalANGLEKit.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
UMZwvwloT8/efb3vBjtoAghwK6g+YJpSBOWtOXqMgxQ=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/export.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
B3CptSxqCPp1sgVhL5fXqLtx7XNkn8UyqwzbyNPcQcU=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Headers/feature_support_util.h</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
Vw9J6dktPRrilwOGir7V3KFXuxAltMhbKplztoOHG4E=
|
||||
</data>
|
||||
</dict>
|
||||
<key>Modules/module.modulemap</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
EwTiq1OUIjXUzXWEKhS9GbDPx9WpBN6cHWQOLwQq7vU=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.xcode.dsym.com.libgdx.MetalANGLEKit</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>dSYM</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
Binary file not shown.
+198
@@ -0,0 +1,198 @@
|
||||
---
|
||||
triple: 'arm64-apple-darwin'
|
||||
binary-path: '/Users/runner/Library/Developer/Xcode/DerivedData/MetalANGLEKit-foxtkjdvsthczfdoysyxplqybzug/Build/Intermediates.noindex/ArchiveIntermediates/MetalANGLEKit/InstallationBuildProductsLocation/Library/Frameworks/MetalANGLEKit.framework/MetalANGLEKit'
|
||||
relocations:
|
||||
- { offset: 0x33, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionString, symObjAddr: 0x0, symBinAddr: 0x9860, symSize: 0x0 }
|
||||
- { offset: 0x67, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionNumber, symObjAddr: 0x38, symBinAddr: 0x9898, symSize: 0x0 }
|
||||
- { offset: 0xD0, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitVSE, symObjAddr: 0x3B98, symBinAddr: 0x98C8, symSize: 0x0 }
|
||||
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitFSE, symObjAddr: 0x3C58, symBinAddr: 0x9988, symSize: 0x0 }
|
||||
- { offset: 0x82A, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_113CompileShaderEjPKcPj, symObjAddr: 0x24A0, symBinAddr: 0x521C, symSize: 0x124 }
|
||||
- { offset: 0x6FA3, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2AA0, symBinAddr: 0x7B60, symSize: 0x28 }
|
||||
- { offset: 0x731A, size: 0x8, addend: 0x0, symName: __ZNSt3__119__allocate_at_leastB8ne180100INS_9allocatorIjEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m, symObjAddr: 0x2A10, symBinAddr: 0x578C, symSize: 0x34 }
|
||||
- { offset: 0x73B7, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2A44, symBinAddr: 0x57C0, symSize: 0x28 }
|
||||
- { offset: 0x73CA, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x299C, symBinAddr: 0x5718, symSize: 0x50 }
|
||||
- { offset: 0x8257, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2A44, symBinAddr: 0x57C0, symSize: 0x28 }
|
||||
- { offset: 0x9666, size: 0x8, addend: 0x0, symName: '-[MGLLayer init]', symObjAddr: 0x0, symBinAddr: 0x2D7C, symSize: 0x6C }
|
||||
- { offset: 0x969E, size: 0x8, addend: 0x0, symName: '-[MGLLayer initWithCoder:]', symObjAddr: 0x6C, symBinAddr: 0x2DE8, symSize: 0x98 }
|
||||
- { offset: 0x96E6, size: 0x8, addend: 0x0, symName: '-[MGLLayer constructor]', symObjAddr: 0x104, symBinAddr: 0x2E80, symSize: 0xF4 }
|
||||
- { offset: 0x9733, size: 0x8, addend: 0x0, symName: '-[MGLLayer dealloc]', symObjAddr: 0x1F8, symBinAddr: 0x2F74, symSize: 0x84 }
|
||||
- { offset: 0x9767, size: 0x8, addend: 0x0, symName: '-[MGLLayer setContentsScale:]', symObjAddr: 0x28C, symBinAddr: 0x3008, symSize: 0x78 }
|
||||
- { offset: 0x97B8, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableSize]', symObjAddr: 0x304, symBinAddr: 0x3080, symSize: 0xA4 }
|
||||
- { offset: 0x97FD, size: 0x8, addend: 0x0, symName: '-[MGLLayer setCurrentContext:]', symObjAddr: 0x3A8, symBinAddr: 0x3124, symSize: 0x15C }
|
||||
- { offset: 0x9979, size: 0x8, addend: 0x0, symName: '-[MGLLayer bindDefaultFrameBuffer]', symObjAddr: 0x504, symBinAddr: 0x3280, symSize: 0x14 }
|
||||
- { offset: 0x99C4, size: 0x8, addend: 0x0, symName: '-[MGLLayer present]', symObjAddr: 0x518, symBinAddr: 0x3294, symSize: 0xF8 }
|
||||
- { offset: 0x9E0C, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:]', symObjAddr: 0x610, symBinAddr: 0x338C, symSize: 0x430 }
|
||||
- { offset: 0xA775, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferC1EjPFviPKjE, symObjAddr: 0xB18, symBinAddr: 0x3894, symSize: 0xD4 }
|
||||
- { offset: 0xAA26, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3089EED1Ev, symObjAddr: 0xBEC, symBinAddr: 0x3968, symSize: 0x40 }
|
||||
- { offset: 0xAA91, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferD1Ev, symObjAddr: 0xC2C, symBinAddr: 0x39A8, symSize: 0x78 }
|
||||
- { offset: 0xAC7D, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedReadBufferD1Ev, symObjAddr: 0xCA4, symBinAddr: 0x3A20, symSize: 0x34 }
|
||||
- { offset: 0xACCB, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z20glDeleteFramebuffersEEED1Ev, symObjAddr: 0xA70, symBinAddr: 0x37EC, symSize: 0x3C }
|
||||
- { offset: 0xAD25, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z16glDeleteTexturesEEED1Ev, symObjAddr: 0xADC, symBinAddr: 0x3858, symSize: 0x3C }
|
||||
- { offset: 0xAD7F, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2AA0, symBinAddr: 0x7B60, symSize: 0x28 }
|
||||
- { offset: 0xAD97, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36008ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xCD8, symBinAddr: 0x3A54, symSize: 0x30 }
|
||||
- { offset: 0xADE5, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36009ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xD08, symBinAddr: 0x3A84, symSize: 0x30 }
|
||||
- { offset: 0xAE33, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36160ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xA40, symBinAddr: 0x37BC, symSize: 0x30 }
|
||||
- { offset: 0xAE81, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj3553ELj32873EXadL_Z13glBindTextureEEED1Ev, symObjAddr: 0xAAC, symBinAddr: 0x3828, symSize: 0x30 }
|
||||
- { offset: 0xB0C6, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE6resizeEmRKj, symObjAddr: 0x2848, symBinAddr: 0x55C4, symSize: 0x30 }
|
||||
- { offset: 0xB11E, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE6resizeEmRKj, symObjAddr: 0x2848, symBinAddr: 0x55C4, symSize: 0x30 }
|
||||
- { offset: 0xB5B3, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:]', symObjAddr: 0xD38, symBinAddr: 0x3AB4, symSize: 0x3B4 }
|
||||
- { offset: 0xC00F, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedViewportD1Ev, symObjAddr: 0x10EC, symBinAddr: 0x3E68, symSize: 0x34 }
|
||||
- { offset: 0xC05D, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3042EED1Ev, symObjAddr: 0x1120, symBinAddr: 0x3E9C, symSize: 0x40 }
|
||||
- { offset: 0xC0C8, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2960EED1Ev, symObjAddr: 0x1160, symBinAddr: 0x3EDC, symSize: 0x40 }
|
||||
- { offset: 0xC133, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2929EED1Ev, symObjAddr: 0x11A0, symBinAddr: 0x3F1C, symSize: 0x40 }
|
||||
- { offset: 0xC19E, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2884EED1Ev, symObjAddr: 0x11E0, symBinAddr: 0x3F5C, symSize: 0x40 }
|
||||
- { offset: 0xC209, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:].cold.1', symObjAddr: 0x2AC8, symBinAddr: 0x7B88, symSize: 0x28 }
|
||||
- { offset: 0xC2A3, size: 0x8, addend: 0x0, symName: '-[MGLLayer eglSurface]', symObjAddr: 0x1220, symBinAddr: 0x3F9C, symSize: 0x2C }
|
||||
- { offset: 0xC2DB, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableColorFormat:]', symObjAddr: 0x124C, symBinAddr: 0x3FC8, symSize: 0x10 }
|
||||
- { offset: 0xC31C, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableDepthFormat:]', symObjAddr: 0x125C, symBinAddr: 0x3FD8, symSize: 0x10 }
|
||||
- { offset: 0xC35D, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableStencilFormat:]', symObjAddr: 0x126C, symBinAddr: 0x3FE8, symSize: 0x10 }
|
||||
- { offset: 0xC39E, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableMultisample:]', symObjAddr: 0x127C, symBinAddr: 0x3FF8, symSize: 0x50 }
|
||||
- { offset: 0xC3EF, size: 0x8, addend: 0x0, symName: '-[MGLLayer setRetainedBacking:]', symObjAddr: 0x12CC, symBinAddr: 0x4048, symSize: 0x54 }
|
||||
- { offset: 0xC43C, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseSurface]', symObjAddr: 0x1320, symBinAddr: 0x409C, symSize: 0x98 }
|
||||
- { offset: 0xC4DB, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseOffscreenRenderingResources]', symObjAddr: 0x13B8, symBinAddr: 0x4134, symSize: 0x1A8 }
|
||||
- { offset: 0xC631, size: 0x8, addend: 0x0, symName: '-[MGLLayer checkLayerSize]', symObjAddr: 0x1560, symBinAddr: 0x42DC, symSize: 0xE0 }
|
||||
- { offset: 0xCB6A, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureSurfaceCreated]', symObjAddr: 0x1640, symBinAddr: 0x43BC, symSize: 0x2D0 }
|
||||
- { offset: 0xD5F9, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated]', symObjAddr: 0x1910, symBinAddr: 0x468C, symSize: 0x1EC }
|
||||
- { offset: 0xD882, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z21glDeleteRenderbuffersEEED1Ev, symObjAddr: 0x1AFC, symBinAddr: 0x4878, symSize: 0x3C }
|
||||
- { offset: 0xD8DC, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated].cold.1', symObjAddr: 0x2AF0, symBinAddr: 0x7BB0, symSize: 0x28 }
|
||||
- { offset: 0xD93A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderingResources]', symObjAddr: 0x1B38, symBinAddr: 0x48B4, symSize: 0xF4 }
|
||||
- { offset: 0xDAB4, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenFBO]', symObjAddr: 0x1C2C, symBinAddr: 0x49A8, symSize: 0x160 }
|
||||
- { offset: 0xDCD9, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenDepthStencilbuffer]', symObjAddr: 0x1D8C, symBinAddr: 0x4B08, symSize: 0x178 }
|
||||
- { offset: 0xDF02, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36161ELj36007EXadL_Z18glBindRenderbufferEEED1Ev, symObjAddr: 0x1F04, symBinAddr: 0x4C80, symSize: 0x30 }
|
||||
- { offset: 0xDF3A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer]', symObjAddr: 0x1F34, symBinAddr: 0x4CB0, symSize: 0x170 }
|
||||
- { offset: 0xE0E5, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer].cold.1', symObjAddr: 0x2B18, symBinAddr: 0x7BD8, symSize: 0x28 }
|
||||
- { offset: 0xE0FD, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture]', symObjAddr: 0x20A4, symBinAddr: 0x4E20, symSize: 0x1D8 }
|
||||
- { offset: 0xE3FA, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture].cold.1', symObjAddr: 0x2B40, symBinAddr: 0x7C00, symSize: 0x28 }
|
||||
- { offset: 0xE412, size: 0x8, addend: 0x0, symName: '-[MGLLayer verifyOffscreenFBOSize]', symObjAddr: 0x227C, symBinAddr: 0x4FF8, symSize: 0x84 }
|
||||
- { offset: 0xE44A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram]', symObjAddr: 0x2300, symBinAddr: 0x507C, symSize: 0x1A0 }
|
||||
- { offset: 0xE84E, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram].cold.1', symObjAddr: 0x2B68, symBinAddr: 0x7C28, symSize: 0x28 }
|
||||
- { offset: 0xE975, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitVBO]', symObjAddr: 0x25C4, symBinAddr: 0x5340, symSize: 0x18C }
|
||||
- { offset: 0xECF1, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj34962ELj34964EXadL_Z12glBindBufferEEED1Ev, symObjAddr: 0x2750, symBinAddr: 0x54CC, symSize: 0x30 }
|
||||
- { offset: 0xED29, size: 0x8, addend: 0x0, symName: '-[MGLLayer defaultOpenGLFrameBufferID]', symObjAddr: 0x2780, symBinAddr: 0x54FC, symSize: 0x10 }
|
||||
- { offset: 0xED60, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableColorFormat]', symObjAddr: 0x2790, symBinAddr: 0x550C, symSize: 0x10 }
|
||||
- { offset: 0xED97, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableDepthFormat]', symObjAddr: 0x27A0, symBinAddr: 0x551C, symSize: 0x10 }
|
||||
- { offset: 0xEDCE, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableStencilFormat]', symObjAddr: 0x27B0, symBinAddr: 0x552C, symSize: 0x10 }
|
||||
- { offset: 0xEE05, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableMultisample]', symObjAddr: 0x27C0, symBinAddr: 0x553C, symSize: 0x10 }
|
||||
- { offset: 0xEE3C, size: 0x8, addend: 0x0, symName: '-[MGLLayer retainedBacking]', symObjAddr: 0x27D0, symBinAddr: 0x554C, symSize: 0x10 }
|
||||
- { offset: 0xEE73, size: 0x8, addend: 0x0, symName: '-[MGLLayer .cxx_destruct]', symObjAddr: 0x27E0, symBinAddr: 0x555C, symSize: 0x68 }
|
||||
- { offset: 0xEED5, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE8__appendEmRKj, symObjAddr: 0x2878, symBinAddr: 0x55F4, symSize: 0x110 }
|
||||
- { offset: 0xF3A8, size: 0x8, addend: 0x0, symName: __ZNKSt3__16vectorIjNS_9allocatorIjEEE20__throw_length_errorB8ne180100Ev, symObjAddr: 0x2988, symBinAddr: 0x5704, symSize: 0x14 }
|
||||
- { offset: 0xF6FF, size: 0x8, addend: 0x0, symName: __ZNKSt3__16vectorIjNS_9allocatorIjEEE20__throw_length_errorB8ne180100Ev, symObjAddr: 0x2988, symBinAddr: 0x5704, symSize: 0x14 }
|
||||
- { offset: 0xF728, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x299C, symBinAddr: 0x5718, symSize: 0x50 }
|
||||
- { offset: 0xF733, size: 0x8, addend: 0x0, symName: __ZNSt12length_errorC1B8ne180100EPKc, symObjAddr: 0x29EC, symBinAddr: 0x5768, symSize: 0x24 }
|
||||
- { offset: 0x11C01, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x57E8, symSize: 0xAC }
|
||||
- { offset: 0x134EB, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x57E8, symSize: 0xAC }
|
||||
- { offset: 0x13531, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:]', symObjAddr: 0xAC, symBinAddr: 0x5894, symSize: 0x80 }
|
||||
- { offset: 0x13573, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:context:]', symObjAddr: 0x12C, symBinAddr: 0x5914, symSize: 0xAC }
|
||||
- { offset: 0x135C4, size: 0x8, addend: 0x0, symName: '-[MGLKView dealloc]', symObjAddr: 0x1D8, symBinAddr: 0x59C0, symSize: 0x54 }
|
||||
- { offset: 0x135F7, size: 0x8, addend: 0x0, symName: '+[MGLKView layerClass]', symObjAddr: 0x22C, symBinAddr: 0x5A14, symSize: 0xC }
|
||||
- { offset: 0x1362A, size: 0x8, addend: 0x0, symName: '-[MGLKView glLayer]', symObjAddr: 0x238, symBinAddr: 0x5A20, symSize: 0x4 }
|
||||
- { offset: 0x1367A, size: 0x8, addend: 0x0, symName: '-[MGLKView setContext:]', symObjAddr: 0x23C, symBinAddr: 0x5A24, symSize: 0x8C }
|
||||
- { offset: 0x136DA, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplay]', symObjAddr: 0x2C8, symBinAddr: 0x5AB0, symSize: 0x44 }
|
||||
- { offset: 0x1370D, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplayInRect:]', symObjAddr: 0x30C, symBinAddr: 0x5AF4, symSize: 0x44 }
|
||||
- { offset: 0x1374B, size: 0x8, addend: 0x0, symName: '-[MGLKView setRetainedBacking:]', symObjAddr: 0x350, symBinAddr: 0x5B38, symSize: 0x58 }
|
||||
- { offset: 0x13789, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableColorFormat:]', symObjAddr: 0x3A8, symBinAddr: 0x5B90, symSize: 0x58 }
|
||||
- { offset: 0x137CB, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableDepthFormat:]', symObjAddr: 0x400, symBinAddr: 0x5BE8, symSize: 0x58 }
|
||||
- { offset: 0x1380D, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableStencilFormat:]', symObjAddr: 0x458, symBinAddr: 0x5C40, symSize: 0x58 }
|
||||
- { offset: 0x1384F, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableMultisample:]', symObjAddr: 0x4B0, symBinAddr: 0x5C98, symSize: 0x58 }
|
||||
- { offset: 0x13891, size: 0x8, addend: 0x0, symName: '-[MGLKView display]', symObjAddr: 0x508, symBinAddr: 0x5CF0, symSize: 0x8 }
|
||||
- { offset: 0x138C2, size: 0x8, addend: 0x0, symName: '-[MGLKView bindDrawable]', symObjAddr: 0x510, symBinAddr: 0x5CF8, symSize: 0x44 }
|
||||
- { offset: 0x138F5, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableSize]', symObjAddr: 0x554, symBinAddr: 0x5D3C, symSize: 0x8C }
|
||||
- { offset: 0x1392C, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableWidth]', symObjAddr: 0x5E0, symBinAddr: 0x5DC8, symSize: 0x18 }
|
||||
- { offset: 0x13963, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableHeight]', symObjAddr: 0x5F8, symBinAddr: 0x5DE0, symSize: 0x18 }
|
||||
- { offset: 0x1399A, size: 0x8, addend: 0x0, symName: '-[MGLKView defaultOpenGLFrameBufferID]', symObjAddr: 0x610, symBinAddr: 0x5DF8, symSize: 0x50 }
|
||||
- { offset: 0x139D1, size: 0x8, addend: 0x0, symName: '-[MGLKView didMoveToWindow]', symObjAddr: 0x660, symBinAddr: 0x5E48, symSize: 0x8C }
|
||||
- { offset: 0x13A04, size: 0x8, addend: 0x0, symName: '-[MGLKView drawRect:]', symObjAddr: 0x6EC, symBinAddr: 0x5ED4, symSize: 0x1C }
|
||||
- { offset: 0x13A42, size: 0x8, addend: 0x0, symName: '-[MGLKView displayAndCapture:]', symObjAddr: 0x708, symBinAddr: 0x5EF0, symSize: 0x1E4 }
|
||||
- { offset: 0x13C06, size: 0x8, addend: 0x0, symName: '-[MGLKView snapshot]', symObjAddr: 0x8EC, symBinAddr: 0x60D4, symSize: 0x190 }
|
||||
- { offset: 0x13ED2, size: 0x8, addend: 0x0, symName: __ZL13freeImageDataPvPKvm, symObjAddr: 0xA7C, symBinAddr: 0x6264, symSize: 0xC }
|
||||
- { offset: 0x13F11, size: 0x8, addend: 0x0, symName: '-[MGLKView context]', symObjAddr: 0xA88, symBinAddr: 0x6270, symSize: 0x10 }
|
||||
- { offset: 0x13F48, size: 0x8, addend: 0x0, symName: '-[MGLKView delegate]', symObjAddr: 0xA98, symBinAddr: 0x6280, symSize: 0x10 }
|
||||
- { offset: 0x13F7F, size: 0x8, addend: 0x0, symName: '-[MGLKView setDelegate:]', symObjAddr: 0xAA8, symBinAddr: 0x6290, symSize: 0x10 }
|
||||
- { offset: 0x13FBC, size: 0x8, addend: 0x0, symName: '-[MGLKView retainedBacking]', symObjAddr: 0xAB8, symBinAddr: 0x62A0, symSize: 0x10 }
|
||||
- { offset: 0x13FF3, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableColorFormat]', symObjAddr: 0xAC8, symBinAddr: 0x62B0, symSize: 0x10 }
|
||||
- { offset: 0x1402A, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableDepthFormat]', symObjAddr: 0xAD8, symBinAddr: 0x62C0, symSize: 0x10 }
|
||||
- { offset: 0x14061, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableStencilFormat]', symObjAddr: 0xAE8, symBinAddr: 0x62D0, symSize: 0x10 }
|
||||
- { offset: 0x14098, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableMultisample]', symObjAddr: 0xAF8, symBinAddr: 0x62E0, symSize: 0x10 }
|
||||
- { offset: 0x140CF, size: 0x8, addend: 0x0, symName: '-[MGLKView enableSetNeedsDisplay]', symObjAddr: 0xB08, symBinAddr: 0x62F0, symSize: 0x10 }
|
||||
- { offset: 0x14106, size: 0x8, addend: 0x0, symName: '-[MGLKView setEnableSetNeedsDisplay:]', symObjAddr: 0xB18, symBinAddr: 0x6300, symSize: 0x10 }
|
||||
- { offset: 0x14141, size: 0x8, addend: 0x0, symName: '-[MGLKView drawing]', symObjAddr: 0xB28, symBinAddr: 0x6310, symSize: 0x14 }
|
||||
- { offset: 0x14178, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawing:]', symObjAddr: 0xB3C, symBinAddr: 0x6324, symSize: 0x10 }
|
||||
- { offset: 0x141B5, size: 0x8, addend: 0x0, symName: '-[MGLKView controller]', symObjAddr: 0xB4C, symBinAddr: 0x6334, symSize: 0x20 }
|
||||
- { offset: 0x141EC, size: 0x8, addend: 0x0, symName: '-[MGLKView setController:]', symObjAddr: 0xB6C, symBinAddr: 0x6354, symSize: 0x14 }
|
||||
- { offset: 0x1422D, size: 0x8, addend: 0x0, symName: '-[MGLKView .cxx_destruct]', symObjAddr: 0xB80, symBinAddr: 0x6368, symSize: 0x3C }
|
||||
- { offset: 0x1441D, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_110CurrentTLSEv, symObjAddr: 0x588, symBinAddr: 0x691C, symSize: 0x60 }
|
||||
- { offset: 0x14447, size: 0x8, addend: 0x0, symName: __ZZN12_GLOBAL__N_110CurrentTLSEvE8sKeyOnce, symObjAddr: 0x12C0, symBinAddr: 0x11C78, symSize: 0x0 }
|
||||
- { offset: 0x144B6, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_118gThreadSpecificKeyE, symObjAddr: 0xD168, symBinAddr: 0x11D48, symSize: 0x0 }
|
||||
- { offset: 0x144F2, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116CreateEGLContextEPv15MGLRenderingAPIS0_, symObjAddr: 0x264, symBinAddr: 0x65F8, symSize: 0xBC }
|
||||
- { offset: 0x145D7, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_119ThreadTLSDestructorEPv, symObjAddr: 0x8AC, symBinAddr: 0x6C40, symSize: 0x38 }
|
||||
- { offset: 0x14AD8, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup init]', symObjAddr: 0x0, symBinAddr: 0x63A4, symSize: 0x3C }
|
||||
- { offset: 0x14B0F, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup dealloc]', symObjAddr: 0x3C, symBinAddr: 0x63E0, symSize: 0x80 }
|
||||
- { offset: 0x14B71, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup sharedEGLContext]', symObjAddr: 0xCC, symBinAddr: 0x6460, symSize: 0x3C }
|
||||
- { offset: 0x14BA8, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup addContext:]', symObjAddr: 0x108, symBinAddr: 0x649C, symSize: 0x15C }
|
||||
- { offset: 0x14C4D, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup .cxx_destruct]', symObjAddr: 0x320, symBinAddr: 0x66B4, symSize: 0x8 }
|
||||
- { offset: 0x14C80, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:]', symObjAddr: 0x328, symBinAddr: 0x66BC, symSize: 0x8 }
|
||||
- { offset: 0x14CC3, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:sharegroup:]', symObjAddr: 0x330, symBinAddr: 0x66C4, symSize: 0xF4 }
|
||||
- { offset: 0x14D18, size: 0x8, addend: 0x0, symName: '-[MGLContext API]', symObjAddr: 0x424, symBinAddr: 0x67B8, symSize: 0x8 }
|
||||
- { offset: 0x14D4F, size: 0x8, addend: 0x0, symName: '-[MGLContext eglDisplay]', symObjAddr: 0x42C, symBinAddr: 0x67C0, symSize: 0x8 }
|
||||
- { offset: 0x14D86, size: 0x8, addend: 0x0, symName: '-[MGLContext dealloc]', symObjAddr: 0x434, symBinAddr: 0x67C8, symSize: 0x7C }
|
||||
- { offset: 0x14DB9, size: 0x8, addend: 0x0, symName: '-[MGLContext releaseContext]', symObjAddr: 0x4B0, symBinAddr: 0x6844, symSize: 0x68 }
|
||||
- { offset: 0x14E51, size: 0x8, addend: 0x0, symName: '-[MGLContext initContext]', symObjAddr: 0x518, symBinAddr: 0x68AC, symSize: 0x50 }
|
||||
- { offset: 0x14E9E, size: 0x8, addend: 0x0, symName: '-[MGLContext present:]', symObjAddr: 0x568, symBinAddr: 0x68FC, symSize: 0x8 }
|
||||
- { offset: 0x14EE0, size: 0x8, addend: 0x0, symName: '+[MGLContext currentContext]', symObjAddr: 0x570, symBinAddr: 0x6904, symSize: 0x18 }
|
||||
- { offset: 0x14F76, size: 0x8, addend: 0x0, symName: '+[MGLContext currentLayer]', symObjAddr: 0x5E8, symBinAddr: 0x697C, symSize: 0x1C }
|
||||
- { offset: 0x14FB6, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:]', symObjAddr: 0x604, symBinAddr: 0x6998, symSize: 0xE0 }
|
||||
- { offset: 0x15032, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:forLayer:]', symObjAddr: 0x6E4, symBinAddr: 0x6A78, symSize: 0x94 }
|
||||
- { offset: 0x1508A, size: 0x8, addend: 0x0, symName: '-[MGLContext setCurrentContextForLayer:]', symObjAddr: 0x778, symBinAddr: 0x6B0C, symSize: 0xD4 }
|
||||
- { offset: 0x15150, size: 0x8, addend: 0x0, symName: '-[MGLContext sharegroup]', symObjAddr: 0x84C, symBinAddr: 0x6BE0, symSize: 0xC }
|
||||
- { offset: 0x15187, size: 0x8, addend: 0x0, symName: '-[MGLContext display]', symObjAddr: 0x858, symBinAddr: 0x6BEC, symSize: 0x8 }
|
||||
- { offset: 0x151BE, size: 0x8, addend: 0x0, symName: '-[MGLContext eglContext]', symObjAddr: 0x860, symBinAddr: 0x6BF4, symSize: 0x8 }
|
||||
- { offset: 0x151F5, size: 0x8, addend: 0x0, symName: '-[MGLContext .cxx_destruct]', symObjAddr: 0x868, symBinAddr: 0x6BFC, symSize: 0x30 }
|
||||
- { offset: 0x15251, size: 0x8, addend: 0x0, symName: '__ZZN12_GLOBAL__N_110CurrentTLSEvEN3$_08__invokeEv', symObjAddr: 0x898, symBinAddr: 0x6C2C, symSize: 0x14 }
|
||||
- { offset: 0x1526F, size: 0x8, addend: 0x0, symName: '__ZZN12_GLOBAL__N_110CurrentTLSEvEN3$_08__invokeEv', symObjAddr: 0x898, symBinAddr: 0x6C2C, symSize: 0x14 }
|
||||
- { offset: 0x17D96, size: 0x8, addend: 0x0, symName: __ZL20gGlobalDisplayHolder, symObjAddr: 0x3290, symBinAddr: 0x11D50, symSize: 0x0 }
|
||||
- { offset: 0x17E0C, size: 0x8, addend: 0x0, symName: __ZL15gDefaultDisplay, symObjAddr: 0x3298, symBinAddr: 0x11D58, symSize: 0x0 }
|
||||
- { offset: 0x17E7E, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder init]', symObjAddr: 0x0, symBinAddr: 0x6C78, symSize: 0x114 }
|
||||
- { offset: 0x17FBA, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder dealloc]', symObjAddr: 0x114, symBinAddr: 0x6D8C, symSize: 0x7C }
|
||||
- { offset: 0x1800C, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder eglDisplay]', symObjAddr: 0x1A0, symBinAddr: 0x6E08, symSize: 0x8 }
|
||||
- { offset: 0x18043, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder setEglDisplay:]', symObjAddr: 0x1A8, symBinAddr: 0x6E10, symSize: 0x8 }
|
||||
- { offset: 0x18080, size: 0x8, addend: 0x0, symName: '+[MGLDisplay defaultDisplay]', symObjAddr: 0x1B0, symBinAddr: 0x6E18, symSize: 0x48 }
|
||||
- { offset: 0x180B3, size: 0x8, addend: 0x0, symName: '-[MGLDisplay init]', symObjAddr: 0x1F8, symBinAddr: 0x6E60, symSize: 0xB0 }
|
||||
- { offset: 0x180EA, size: 0x8, addend: 0x0, symName: '-[MGLDisplay eglDisplay]', symObjAddr: 0x2A8, symBinAddr: 0x6F10, symSize: 0x8 }
|
||||
- { offset: 0x18121, size: 0x8, addend: 0x0, symName: '-[MGLDisplay .cxx_destruct]', symObjAddr: 0x2B0, symBinAddr: 0x6F18, symSize: 0xC }
|
||||
- { offset: 0x18659, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initImpl]', symObjAddr: 0x0, symBinAddr: 0x6F24, symSize: 0x4 }
|
||||
- { offset: 0x18688, size: 0x8, addend: 0x0, symName: '-[MGLKViewController deallocImpl]', symObjAddr: 0x4, symBinAddr: 0x6F28, symSize: 0x4 }
|
||||
- { offset: 0x186B7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidMoveToWindow]', symObjAddr: 0x8, symBinAddr: 0x6F2C, symSize: 0x4 }
|
||||
- { offset: 0x186E6, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidLoad]', symObjAddr: 0xC, symBinAddr: 0x6F30, symSize: 0x4C }
|
||||
- { offset: 0x18736, size: 0x8, addend: 0x0, symName: __Z3maxll, symObjAddr: 0x58, symBinAddr: 0x6F7C, symSize: 0xC }
|
||||
- { offset: 0x18772, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPreferredFramesPerSecond:]', symObjAddr: 0x64, symBinAddr: 0x6F88, symSize: 0x48 }
|
||||
- { offset: 0x187B4, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pause]', symObjAddr: 0xAC, symBinAddr: 0x6FD0, symSize: 0xB8 }
|
||||
- { offset: 0x187F4, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resume]', symObjAddr: 0x164, symBinAddr: 0x7088, symSize: 0x110 }
|
||||
- { offset: 0x18834, size: 0x8, addend: 0x0, symName: '-[MGLKViewController init]', symObjAddr: 0x274, symBinAddr: 0x7198, symSize: 0x6C }
|
||||
- { offset: 0x1886B, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithNibName:bundle:]', symObjAddr: 0x2E0, symBinAddr: 0x7204, symSize: 0xBC }
|
||||
- { offset: 0x188C0, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithCoder:]', symObjAddr: 0x39C, symBinAddr: 0x72C0, symSize: 0x98 }
|
||||
- { offset: 0x18906, size: 0x8, addend: 0x0, symName: '-[MGLKViewController constructor]', symObjAddr: 0x434, symBinAddr: 0x7358, symSize: 0x48 }
|
||||
- { offset: 0x18937, size: 0x8, addend: 0x0, symName: '-[MGLKViewController dealloc]', symObjAddr: 0x47C, symBinAddr: 0x73A0, symSize: 0x74 }
|
||||
- { offset: 0x1896A, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setView:]', symObjAddr: 0x500, symBinAddr: 0x7414, symSize: 0x214 }
|
||||
- { offset: 0x189AC, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPaused:]', symObjAddr: 0x714, symBinAddr: 0x7628, symSize: 0x24 }
|
||||
- { offset: 0x189F0, size: 0x8, addend: 0x0, symName: '-[MGLKViewController mglkView:drawInRect:]', symObjAddr: 0x738, symBinAddr: 0x764C, symSize: 0x4 }
|
||||
- { offset: 0x18A35, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidAppear:]', symObjAddr: 0x73C, symBinAddr: 0x7650, symSize: 0xF0 }
|
||||
- { offset: 0x18A84, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidDisappear:]', symObjAddr: 0x82C, symBinAddr: 0x7740, symSize: 0xF0 }
|
||||
- { offset: 0x18AD3, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appWillPause:]', symObjAddr: 0x91C, symBinAddr: 0x7830, symSize: 0x5C }
|
||||
- { offset: 0x18B1E, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appDidBecomeActive:]', symObjAddr: 0x978, symBinAddr: 0x788C, symSize: 0x4C }
|
||||
- { offset: 0x18B69, size: 0x8, addend: 0x0, symName: '-[MGLKViewController handleAppWasInBackground]', symObjAddr: 0x9C4, symBinAddr: 0x78D8, symSize: 0x40 }
|
||||
- { offset: 0x18BB5, size: 0x8, addend: 0x0, symName: '-[MGLKViewController frameStep]', symObjAddr: 0xA04, symBinAddr: 0x7918, symSize: 0x130 }
|
||||
- { offset: 0x18C42, size: 0x8, addend: 0x0, symName: '-[MGLKViewController update]', symObjAddr: 0xB34, symBinAddr: 0x7A48, symSize: 0x1C }
|
||||
- { offset: 0x18C75, size: 0x8, addend: 0x0, symName: '-[MGLKViewController delegate]', symObjAddr: 0xB50, symBinAddr: 0x7A64, symSize: 0x10 }
|
||||
- { offset: 0x18CAC, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setDelegate:]', symObjAddr: 0xB60, symBinAddr: 0x7A74, symSize: 0x10 }
|
||||
- { offset: 0x18CE9, size: 0x8, addend: 0x0, symName: '-[MGLKViewController preferredFramesPerSecond]', symObjAddr: 0xB70, symBinAddr: 0x7A84, symSize: 0x10 }
|
||||
- { offset: 0x18D20, size: 0x8, addend: 0x0, symName: '-[MGLKViewController framesDisplayed]', symObjAddr: 0xB80, symBinAddr: 0x7A94, symSize: 0x10 }
|
||||
- { offset: 0x18D57, size: 0x8, addend: 0x0, symName: '-[MGLKViewController timeSinceLastUpdate]', symObjAddr: 0xB90, symBinAddr: 0x7AA4, symSize: 0x10 }
|
||||
- { offset: 0x18D8C, size: 0x8, addend: 0x0, symName: '-[MGLKViewController isPaused]', symObjAddr: 0xBA0, symBinAddr: 0x7AB4, symSize: 0x10 }
|
||||
- { offset: 0x18DC3, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pauseOnWillResignActive]', symObjAddr: 0xBB0, symBinAddr: 0x7AC4, symSize: 0x10 }
|
||||
- { offset: 0x18DFA, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPauseOnWillResignActive:]', symObjAddr: 0xBC0, symBinAddr: 0x7AD4, symSize: 0x10 }
|
||||
- { offset: 0x18E35, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resumeOnDidBecomeActive]', symObjAddr: 0xBD0, symBinAddr: 0x7AE4, symSize: 0x10 }
|
||||
- { offset: 0x18E6C, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setResumeOnDidBecomeActive:]', symObjAddr: 0xBE0, symBinAddr: 0x7AF4, symSize: 0x10 }
|
||||
- { offset: 0x18EA7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController glView]', symObjAddr: 0xBF0, symBinAddr: 0x7B04, symSize: 0x20 }
|
||||
- { offset: 0x18EDE, size: 0x8, addend: 0x0, symName: '-[MGLKViewController .cxx_destruct]', symObjAddr: 0xC10, symBinAddr: 0x7B24, symSize: 0x3C }
|
||||
...
|
||||
+195
@@ -0,0 +1,195 @@
|
||||
---
|
||||
triple: 'x86_64-apple-darwin'
|
||||
binary-path: '/Users/runner/Library/Developer/Xcode/DerivedData/MetalANGLEKit-foxtkjdvsthczfdoysyxplqybzug/Build/Intermediates.noindex/ArchiveIntermediates/MetalANGLEKit/InstallationBuildProductsLocation/Library/Frameworks/MetalANGLEKit.framework/MetalANGLEKit'
|
||||
relocations:
|
||||
- { offset: 0x33, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionString, symObjAddr: 0x0, symBinAddr: 0x6860, symSize: 0x0 }
|
||||
- { offset: 0x67, size: 0x8, addend: 0x0, symName: _MetalANGLEKitVersionNumber, symObjAddr: 0x38, symBinAddr: 0x6898, symSize: 0x0 }
|
||||
- { offset: 0xD0, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitVSE, symObjAddr: 0x3F60, symBinAddr: 0x68D0, symSize: 0x0 }
|
||||
- { offset: 0xE9, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_17kBlitFSE, symObjAddr: 0x4020, symBinAddr: 0x6990, symSize: 0x0 }
|
||||
- { offset: 0x82A, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_113CompileShaderEjPKcPj, symObjAddr: 0x26A8, symBinAddr: 0x3574, symSize: 0x106 }
|
||||
- { offset: 0x7080, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2C3C, symBinAddr: 0x60C6, symSize: 0x23 }
|
||||
- { offset: 0x743B, size: 0x8, addend: 0x0, symName: __ZNSt3__119__allocate_at_leastB8ne180100INS_9allocatorIjEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m, symObjAddr: 0x2BAF, symBinAddr: 0x3A7B, symSize: 0x2E }
|
||||
- { offset: 0x74D8, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2BDD, symBinAddr: 0x3AA9, symSize: 0x31 }
|
||||
- { offset: 0x74EB, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x2B40, symBinAddr: 0x3A0C, symSize: 0x4C }
|
||||
- { offset: 0x8378, size: 0x8, addend: 0x0, symName: __ZSt28__throw_bad_array_new_lengthB8ne180100v, symObjAddr: 0x2BDD, symBinAddr: 0x3AA9, symSize: 0x31 }
|
||||
- { offset: 0x978D, size: 0x8, addend: 0x0, symName: '-[MGLLayer init]', symObjAddr: 0x0, symBinAddr: 0xEDA, symSize: 0x69 }
|
||||
- { offset: 0x97EB, size: 0x8, addend: 0x0, symName: '-[MGLLayer initWithCoder:]', symObjAddr: 0x69, symBinAddr: 0xF43, symSize: 0x94 }
|
||||
- { offset: 0x9893, size: 0x8, addend: 0x0, symName: '-[MGLLayer constructor]', symObjAddr: 0xFD, symBinAddr: 0xFD7, symSize: 0x148 }
|
||||
- { offset: 0x993B, size: 0x8, addend: 0x0, symName: '-[MGLLayer dealloc]', symObjAddr: 0x245, symBinAddr: 0x111F, symSize: 0x8C }
|
||||
- { offset: 0x998F, size: 0x8, addend: 0x0, symName: '-[MGLLayer setContentsScale:]', symObjAddr: 0x2DF, symBinAddr: 0x11AB, symSize: 0x6B }
|
||||
- { offset: 0x99FB, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableSize]', symObjAddr: 0x34A, symBinAddr: 0x1216, symSize: 0x111 }
|
||||
- { offset: 0x9AB7, size: 0x8, addend: 0x0, symName: '-[MGLLayer setCurrentContext:]', symObjAddr: 0x45B, symBinAddr: 0x1327, symSize: 0x176 }
|
||||
- { offset: 0x9D16, size: 0x8, addend: 0x0, symName: '-[MGLLayer bindDefaultFrameBuffer]', symObjAddr: 0x5D1, symBinAddr: 0x149D, symSize: 0x19 }
|
||||
- { offset: 0x9D61, size: 0x8, addend: 0x0, symName: '-[MGLLayer present]', symObjAddr: 0x5EA, symBinAddr: 0x14B6, symSize: 0x11B }
|
||||
- { offset: 0xA239, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:]', symObjAddr: 0x705, symBinAddr: 0x15D1, symSize: 0x471 }
|
||||
- { offset: 0xACA8, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z20glDeleteFramebuffersEEED1Ev, symObjAddr: 0xB90, symBinAddr: 0x1A5C, symSize: 0x30 }
|
||||
- { offset: 0xAD02, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z16glDeleteTexturesEEED1Ev, symObjAddr: 0xBDA, symBinAddr: 0x1AA6, symSize: 0x30 }
|
||||
- { offset: 0xAD8E, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferC1EjPFviPKjE, symObjAddr: 0xC0A, symBinAddr: 0x1AD6, symSize: 0xBE }
|
||||
- { offset: 0xB036, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3089EED1Ev, symObjAddr: 0xCC8, symBinAddr: 0x1B94, symSize: 0x2A }
|
||||
- { offset: 0xB0A1, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedDrawBufferD1Ev, symObjAddr: 0xCF2, symBinAddr: 0x1BBE, symSize: 0x62 }
|
||||
- { offset: 0xB26A, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116ScopedReadBufferD1Ev, symObjAddr: 0xD54, symBinAddr: 0x1C20, symSize: 0x1C }
|
||||
- { offset: 0xB2B8, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitFBO:sourceSize:toFBO:destinationSize:destinationMSAA:].cold.1', symObjAddr: 0x2C3C, symBinAddr: 0x60C6, symSize: 0x23 }
|
||||
- { offset: 0xB2D0, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36008ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xD70, symBinAddr: 0x1C3C, symSize: 0x1A }
|
||||
- { offset: 0xB31E, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36009ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xD8A, symBinAddr: 0x1C56, symSize: 0x1A }
|
||||
- { offset: 0xB36C, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36160ELj36006EXadL_Z17glBindFramebufferEEED1Ev, symObjAddr: 0xB76, symBinAddr: 0x1A42, symSize: 0x1A }
|
||||
- { offset: 0xB3BA, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj3553ELj32873EXadL_Z13glBindTextureEEED1Ev, symObjAddr: 0xBC0, symBinAddr: 0x1A8C, symSize: 0x1A }
|
||||
- { offset: 0xB5FF, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE6resizeEmRKj, symObjAddr: 0x29E4, symBinAddr: 0x38B0, symSize: 0x30 }
|
||||
- { offset: 0xBAEC, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:]', symObjAddr: 0xDA4, symBinAddr: 0x1C70, symSize: 0x3FA }
|
||||
- { offset: 0xC6A3, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedViewportD1Ev, symObjAddr: 0x119E, symBinAddr: 0x206A, symSize: 0x20 }
|
||||
- { offset: 0xC6F1, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj3042EED1Ev, symObjAddr: 0x11BE, symBinAddr: 0x208A, symSize: 0x2A }
|
||||
- { offset: 0xC75C, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2960EED1Ev, symObjAddr: 0x11E8, symBinAddr: 0x20B4, symSize: 0x2A }
|
||||
- { offset: 0xC7C7, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2929EED1Ev, symObjAddr: 0x1212, symBinAddr: 0x20DE, symSize: 0x2A }
|
||||
- { offset: 0xC832, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLEnableILj2884EED1Ev, symObjAddr: 0x123C, symBinAddr: 0x2108, symSize: 0x29 }
|
||||
- { offset: 0xC89D, size: 0x8, addend: 0x0, symName: '-[MGLLayer blitOffscreenTexture:toFBO:].cold.1', symObjAddr: 0x2C5F, symBinAddr: 0x60E9, symSize: 0x23 }
|
||||
- { offset: 0xC937, size: 0x8, addend: 0x0, symName: '-[MGLLayer eglSurface]', symObjAddr: 0x1265, symBinAddr: 0x2131, symSize: 0x28 }
|
||||
- { offset: 0xC983, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableColorFormat:]', symObjAddr: 0x128D, symBinAddr: 0x2159, symSize: 0x1C }
|
||||
- { offset: 0xC9D8, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableDepthFormat:]', symObjAddr: 0x12A9, symBinAddr: 0x2175, symSize: 0x1C }
|
||||
- { offset: 0xCA2D, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableStencilFormat:]', symObjAddr: 0x12C5, symBinAddr: 0x2191, symSize: 0x1C }
|
||||
- { offset: 0xCA82, size: 0x8, addend: 0x0, symName: '-[MGLLayer setDrawableMultisample:]', symObjAddr: 0x12E1, symBinAddr: 0x21AD, symSize: 0x44 }
|
||||
- { offset: 0xCADF, size: 0x8, addend: 0x0, symName: '-[MGLLayer setRetainedBacking:]', symObjAddr: 0x1325, symBinAddr: 0x21F1, symSize: 0x47 }
|
||||
- { offset: 0xCB30, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseSurface]', symObjAddr: 0x136C, symBinAddr: 0x2238, symSize: 0xAD }
|
||||
- { offset: 0xCBF3, size: 0x8, addend: 0x0, symName: '-[MGLLayer releaseOffscreenRenderingResources]', symObjAddr: 0x1419, symBinAddr: 0x22E5, symSize: 0x1D9 }
|
||||
- { offset: 0xCDCF, size: 0x8, addend: 0x0, symName: '-[MGLLayer checkLayerSize]', symObjAddr: 0x15F2, symBinAddr: 0x24BE, symSize: 0x1D4 }
|
||||
- { offset: 0xD40C, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureSurfaceCreated]', symObjAddr: 0x17C6, symBinAddr: 0x2692, symSize: 0x2F1 }
|
||||
- { offset: 0xE0CC, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated]', symObjAddr: 0x1AB7, symBinAddr: 0x2983, symSize: 0x22F }
|
||||
- { offset: 0xE47F, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_114ScopedGLObjectIXadL_Z21glDeleteRenderbuffersEEED1Ev, symObjAddr: 0x1CE6, symBinAddr: 0x2BB2, symSize: 0x30 }
|
||||
- { offset: 0xE4D9, size: 0x8, addend: 0x0, symName: '-[MGLLayer ensureOffscreenFBOCreated].cold.1', symObjAddr: 0x2C82, symBinAddr: 0x610C, symSize: 0x23 }
|
||||
- { offset: 0xE532, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderingResources]', symObjAddr: 0x1D16, symBinAddr: 0x2BE2, symSize: 0xDF }
|
||||
- { offset: 0xE6DE, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenFBO]', symObjAddr: 0x1DF5, symBinAddr: 0x2CC1, symSize: 0x16A }
|
||||
- { offset: 0xE973, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenDepthStencilbuffer]', symObjAddr: 0x1F5F, symBinAddr: 0x2E2B, symSize: 0x169 }
|
||||
- { offset: 0xEB9F, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj36161ELj36007EXadL_Z18glBindRenderbufferEEED1Ev, symObjAddr: 0x20C8, symBinAddr: 0x2F94, symSize: 0x1A }
|
||||
- { offset: 0xEBD7, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer]', symObjAddr: 0x20E2, symBinAddr: 0x2FAE, symSize: 0x160 }
|
||||
- { offset: 0xED82, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenRenderBuffer].cold.1', symObjAddr: 0x2CA5, symBinAddr: 0x612F, symSize: 0x23 }
|
||||
- { offset: 0xED9A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture]', symObjAddr: 0x2242, symBinAddr: 0x310E, symSize: 0x1E3 }
|
||||
- { offset: 0xF088, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenTexture].cold.1', symObjAddr: 0x2CC8, symBinAddr: 0x6152, symSize: 0x23 }
|
||||
- { offset: 0xF0A0, size: 0x8, addend: 0x0, symName: '-[MGLLayer verifyOffscreenFBOSize]', symObjAddr: 0x2425, symBinAddr: 0x32F1, symSize: 0xE7 }
|
||||
- { offset: 0xF104, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram]', symObjAddr: 0x250C, symBinAddr: 0x33D8, symSize: 0x19C }
|
||||
- { offset: 0xF54A, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitProgram].cold.1', symObjAddr: 0x2CEB, symBinAddr: 0x6175, symSize: 0x23 }
|
||||
- { offset: 0xF671, size: 0x8, addend: 0x0, symName: '-[MGLLayer createOffscreenBlitVBO]', symObjAddr: 0x27AE, symBinAddr: 0x367A, symSize: 0x168 }
|
||||
- { offset: 0xF9FE, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_115ScopedGLBindingILj34962ELj34964EXadL_Z12glBindBufferEEED1Ev, symObjAddr: 0x2916, symBinAddr: 0x37E2, symSize: 0x1A }
|
||||
- { offset: 0xFA36, size: 0x8, addend: 0x0, symName: '-[MGLLayer defaultOpenGLFrameBufferID]', symObjAddr: 0x2930, symBinAddr: 0x37FC, symSize: 0x10 }
|
||||
- { offset: 0xFA6B, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableColorFormat]', symObjAddr: 0x2940, symBinAddr: 0x380C, symSize: 0x10 }
|
||||
- { offset: 0xFAA0, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableDepthFormat]', symObjAddr: 0x2950, symBinAddr: 0x381C, symSize: 0x10 }
|
||||
- { offset: 0xFAD5, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableStencilFormat]', symObjAddr: 0x2960, symBinAddr: 0x382C, symSize: 0x10 }
|
||||
- { offset: 0xFB0A, size: 0x8, addend: 0x0, symName: '-[MGLLayer drawableMultisample]', symObjAddr: 0x2970, symBinAddr: 0x383C, symSize: 0x10 }
|
||||
- { offset: 0xFB3F, size: 0x8, addend: 0x0, symName: '-[MGLLayer retainedBacking]', symObjAddr: 0x2980, symBinAddr: 0x384C, symSize: 0x10 }
|
||||
- { offset: 0xFB74, size: 0x8, addend: 0x0, symName: '-[MGLLayer .cxx_destruct]', symObjAddr: 0x2990, symBinAddr: 0x385C, symSize: 0x54 }
|
||||
- { offset: 0xFBD6, size: 0x8, addend: 0x0, symName: __ZNSt3__16vectorIjNS_9allocatorIjEEE8__appendEmRKj, symObjAddr: 0x2A14, symBinAddr: 0x38E0, symSize: 0x11C }
|
||||
- { offset: 0x10511, size: 0x8, addend: 0x0, symName: __ZNKSt3__16vectorIjNS_9allocatorIjEEE20__throw_length_errorB8ne180100Ev, symObjAddr: 0x2B30, symBinAddr: 0x39FC, symSize: 0x10 }
|
||||
- { offset: 0x1053A, size: 0x8, addend: 0x0, symName: __ZNSt3__120__throw_length_errorB8ne180100EPKc, symObjAddr: 0x2B40, symBinAddr: 0x3A0C, symSize: 0x4C }
|
||||
- { offset: 0x10545, size: 0x8, addend: 0x0, symName: __ZNSt12length_errorC1B8ne180100EPKc, symObjAddr: 0x2B8C, symBinAddr: 0x3A58, symSize: 0x23 }
|
||||
- { offset: 0x12A59, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x3ADA, symSize: 0xB1 }
|
||||
- { offset: 0x14347, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithCoder:]', symObjAddr: 0x0, symBinAddr: 0x3ADA, symSize: 0xB1 }
|
||||
- { offset: 0x1440A, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:]', symObjAddr: 0xB1, symBinAddr: 0x3B8B, symSize: 0x98 }
|
||||
- { offset: 0x14493, size: 0x8, addend: 0x0, symName: '-[MGLKView initWithFrame:context:]', symObjAddr: 0x149, symBinAddr: 0x3C23, symSize: 0x97 }
|
||||
- { offset: 0x14561, size: 0x8, addend: 0x0, symName: '-[MGLKView dealloc]', symObjAddr: 0x1E0, symBinAddr: 0x3CBA, symSize: 0x4A }
|
||||
- { offset: 0x145A0, size: 0x8, addend: 0x0, symName: '+[MGLKView layerClass]', symObjAddr: 0x22A, symBinAddr: 0x3D04, symSize: 0x19 }
|
||||
- { offset: 0x145DF, size: 0x8, addend: 0x0, symName: '-[MGLKView glLayer]', symObjAddr: 0x243, symBinAddr: 0x3D1D, symSize: 0x12 }
|
||||
- { offset: 0x14643, size: 0x8, addend: 0x0, symName: '-[MGLKView setContext:]', symObjAddr: 0x255, symBinAddr: 0x3D2F, symSize: 0x7B }
|
||||
- { offset: 0x146E2, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplay]', symObjAddr: 0x2D0, symBinAddr: 0x3DAA, symSize: 0x3C }
|
||||
- { offset: 0x14715, size: 0x8, addend: 0x0, symName: '-[MGLKView setNeedsDisplayInRect:]', symObjAddr: 0x30C, symBinAddr: 0x3DE6, symSize: 0x50 }
|
||||
- { offset: 0x14757, size: 0x8, addend: 0x0, symName: '-[MGLKView setRetainedBacking:]', symObjAddr: 0x35C, symBinAddr: 0x3E36, symSize: 0x6B }
|
||||
- { offset: 0x147D7, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableColorFormat:]', symObjAddr: 0x3C7, symBinAddr: 0x3EA1, symSize: 0x6A }
|
||||
- { offset: 0x14857, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableDepthFormat:]', symObjAddr: 0x431, symBinAddr: 0x3F0B, symSize: 0x6A }
|
||||
- { offset: 0x148D7, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableStencilFormat:]', symObjAddr: 0x49B, symBinAddr: 0x3F75, symSize: 0x6A }
|
||||
- { offset: 0x14957, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawableMultisample:]', symObjAddr: 0x505, symBinAddr: 0x3FDF, symSize: 0x6A }
|
||||
- { offset: 0x149D7, size: 0x8, addend: 0x0, symName: '-[MGLKView display]', symObjAddr: 0x56F, symBinAddr: 0x4049, symSize: 0x14 }
|
||||
- { offset: 0x14A21, size: 0x8, addend: 0x0, symName: '-[MGLKView bindDrawable]', symObjAddr: 0x583, symBinAddr: 0x405D, symSize: 0x51 }
|
||||
- { offset: 0x14A8B, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableSize]', symObjAddr: 0x5D4, symBinAddr: 0x40AE, symSize: 0xA2 }
|
||||
- { offset: 0x14B18, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableWidth]', symObjAddr: 0x676, symBinAddr: 0x4150, symSize: 0x18 }
|
||||
- { offset: 0x14B63, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableHeight]', symObjAddr: 0x68E, symBinAddr: 0x4168, symSize: 0x18 }
|
||||
- { offset: 0x14BAE, size: 0x8, addend: 0x0, symName: '-[MGLKView defaultOpenGLFrameBufferID]', symObjAddr: 0x6A6, symBinAddr: 0x4180, symSize: 0x58 }
|
||||
- { offset: 0x14C23, size: 0x8, addend: 0x0, symName: '-[MGLKView didMoveToWindow]', symObjAddr: 0x6FE, symBinAddr: 0x41D8, symSize: 0x8D }
|
||||
- { offset: 0x14C94, size: 0x8, addend: 0x0, symName: '-[MGLKView drawRect:]', symObjAddr: 0x78B, symBinAddr: 0x4265, symSize: 0x27 }
|
||||
- { offset: 0x14CE2, size: 0x8, addend: 0x0, symName: '-[MGLKView displayAndCapture:]', symObjAddr: 0x7B2, symBinAddr: 0x428C, symSize: 0x250 }
|
||||
- { offset: 0x14F79, size: 0x8, addend: 0x0, symName: '-[MGLKView snapshot]', symObjAddr: 0xA02, symBinAddr: 0x44DC, symSize: 0x1B7 }
|
||||
- { offset: 0x152F0, size: 0x8, addend: 0x0, symName: __ZL13freeImageDataPvPKvm, symObjAddr: 0xBB9, symBinAddr: 0x4693, symSize: 0x11 }
|
||||
- { offset: 0x1532F, size: 0x8, addend: 0x0, symName: '-[MGLKView context]', symObjAddr: 0xBCA, symBinAddr: 0x46A4, symSize: 0x11 }
|
||||
- { offset: 0x15364, size: 0x8, addend: 0x0, symName: '-[MGLKView delegate]', symObjAddr: 0xBDB, symBinAddr: 0x46B5, symSize: 0x11 }
|
||||
- { offset: 0x15399, size: 0x8, addend: 0x0, symName: '-[MGLKView setDelegate:]', symObjAddr: 0xBEC, symBinAddr: 0x46C6, symSize: 0x11 }
|
||||
- { offset: 0x153D6, size: 0x8, addend: 0x0, symName: '-[MGLKView retainedBacking]', symObjAddr: 0xBFD, symBinAddr: 0x46D7, symSize: 0x10 }
|
||||
- { offset: 0x1540B, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableColorFormat]', symObjAddr: 0xC0D, symBinAddr: 0x46E7, symSize: 0x10 }
|
||||
- { offset: 0x15440, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableDepthFormat]', symObjAddr: 0xC1D, symBinAddr: 0x46F7, symSize: 0x10 }
|
||||
- { offset: 0x15475, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableStencilFormat]', symObjAddr: 0xC2D, symBinAddr: 0x4707, symSize: 0x10 }
|
||||
- { offset: 0x154AA, size: 0x8, addend: 0x0, symName: '-[MGLKView drawableMultisample]', symObjAddr: 0xC3D, symBinAddr: 0x4717, symSize: 0x10 }
|
||||
- { offset: 0x154DF, size: 0x8, addend: 0x0, symName: '-[MGLKView enableSetNeedsDisplay]', symObjAddr: 0xC4D, symBinAddr: 0x4727, symSize: 0x10 }
|
||||
- { offset: 0x15514, size: 0x8, addend: 0x0, symName: '-[MGLKView setEnableSetNeedsDisplay:]', symObjAddr: 0xC5D, symBinAddr: 0x4737, symSize: 0x10 }
|
||||
- { offset: 0x15551, size: 0x8, addend: 0x0, symName: '-[MGLKView drawing]', symObjAddr: 0xC6D, symBinAddr: 0x4747, symSize: 0x12 }
|
||||
- { offset: 0x15586, size: 0x8, addend: 0x0, symName: '-[MGLKView setDrawing:]', symObjAddr: 0xC7F, symBinAddr: 0x4759, symSize: 0x10 }
|
||||
- { offset: 0x155C3, size: 0x8, addend: 0x0, symName: '-[MGLKView controller]', symObjAddr: 0xC8F, symBinAddr: 0x4769, symSize: 0x19 }
|
||||
- { offset: 0x155FA, size: 0x8, addend: 0x0, symName: '-[MGLKView setController:]', symObjAddr: 0xCA8, symBinAddr: 0x4782, symSize: 0x14 }
|
||||
- { offset: 0x1563B, size: 0x8, addend: 0x0, symName: '-[MGLKView .cxx_destruct]', symObjAddr: 0xCBC, symBinAddr: 0x4796, symSize: 0x2F }
|
||||
- { offset: 0x1582C, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_110CurrentTLSEv, symObjAddr: 0x5ED, symBinAddr: 0x4DB3, symSize: 0x59 }
|
||||
- { offset: 0x15856, size: 0x8, addend: 0x0, symName: __ZZN12_GLOBAL__N_110CurrentTLSEvE8sKeyOnce, symObjAddr: 0x13E0, symBinAddr: 0xBDD0, symSize: 0x0 }
|
||||
- { offset: 0x158BE, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_118gThreadSpecificKeyE, symObjAddr: 0xD6F8, symBinAddr: 0xBEA0, symSize: 0x0 }
|
||||
- { offset: 0x158FA, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_116CreateEGLContextEPv15MGLRenderingAPIS0_, symObjAddr: 0x290, symBinAddr: 0x4A56, symSize: 0xA1 }
|
||||
- { offset: 0x159EB, size: 0x8, addend: 0x0, symName: __ZN12_GLOBAL__N_119ThreadTLSDestructorEPv, symObjAddr: 0x924, symBinAddr: 0x50EA, symSize: 0x2E }
|
||||
- { offset: 0x15EF0, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup init]', symObjAddr: 0x0, symBinAddr: 0x47C6, symSize: 0x3C }
|
||||
- { offset: 0x15F27, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup dealloc]', symObjAddr: 0x3C, symBinAddr: 0x4802, symSize: 0x80 }
|
||||
- { offset: 0x15F89, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup sharedEGLContext]', symObjAddr: 0xCA, symBinAddr: 0x4890, symSize: 0x35 }
|
||||
- { offset: 0x15FE7, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup addContext:]', symObjAddr: 0xFF, symBinAddr: 0x48C5, symSize: 0x191 }
|
||||
- { offset: 0x161A5, size: 0x8, addend: 0x0, symName: '-[MGLSharegroup .cxx_destruct]', symObjAddr: 0x331, symBinAddr: 0x4AF7, symSize: 0xE }
|
||||
- { offset: 0x161D8, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:]', symObjAddr: 0x33F, symBinAddr: 0x4B05, symSize: 0x14 }
|
||||
- { offset: 0x1623D, size: 0x8, addend: 0x0, symName: '-[MGLContext initWithAPI:sharegroup:]', symObjAddr: 0x353, symBinAddr: 0x4B19, symSize: 0x109 }
|
||||
- { offset: 0x16348, size: 0x8, addend: 0x0, symName: '-[MGLContext API]', symObjAddr: 0x45C, symBinAddr: 0x4C22, symSize: 0x9 }
|
||||
- { offset: 0x1637D, size: 0x8, addend: 0x0, symName: '-[MGLContext eglDisplay]', symObjAddr: 0x465, symBinAddr: 0x4C2B, symSize: 0x16 }
|
||||
- { offset: 0x163C0, size: 0x8, addend: 0x0, symName: '-[MGLContext dealloc]', symObjAddr: 0x47B, symBinAddr: 0x4C41, symSize: 0x85 }
|
||||
- { offset: 0x16413, size: 0x8, addend: 0x0, symName: '-[MGLContext releaseContext]', symObjAddr: 0x500, symBinAddr: 0x4CC6, symSize: 0x6B }
|
||||
- { offset: 0x164C3, size: 0x8, addend: 0x0, symName: '-[MGLContext initContext]', symObjAddr: 0x56B, symBinAddr: 0x4D31, symSize: 0x53 }
|
||||
- { offset: 0x16528, size: 0x8, addend: 0x0, symName: '-[MGLContext present:]', symObjAddr: 0x5BE, symBinAddr: 0x4D84, symSize: 0x15 }
|
||||
- { offset: 0x1657E, size: 0x8, addend: 0x0, symName: '+[MGLContext currentContext]', symObjAddr: 0x5D3, symBinAddr: 0x4D99, symSize: 0x1A }
|
||||
- { offset: 0x16614, size: 0x8, addend: 0x0, symName: '+[MGLContext currentLayer]', symObjAddr: 0x646, symBinAddr: 0x4E0C, symSize: 0x1B }
|
||||
- { offset: 0x16654, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:]', symObjAddr: 0x661, symBinAddr: 0x4E27, symSize: 0xE9 }
|
||||
- { offset: 0x1675B, size: 0x8, addend: 0x0, symName: '+[MGLContext setCurrentContext:forLayer:]', symObjAddr: 0x74A, symBinAddr: 0x4F10, symSize: 0x96 }
|
||||
- { offset: 0x16857, size: 0x8, addend: 0x0, symName: '-[MGLContext setCurrentContextForLayer:]', symObjAddr: 0x7E0, symBinAddr: 0x4FA6, symSize: 0xDC }
|
||||
- { offset: 0x1697C, size: 0x8, addend: 0x0, symName: '-[MGLContext sharegroup]', symObjAddr: 0x8BC, symBinAddr: 0x5082, symSize: 0x14 }
|
||||
- { offset: 0x169B3, size: 0x8, addend: 0x0, symName: '-[MGLContext display]', symObjAddr: 0x8D0, symBinAddr: 0x5096, symSize: 0xA }
|
||||
- { offset: 0x169E8, size: 0x8, addend: 0x0, symName: '-[MGLContext eglContext]', symObjAddr: 0x8DA, symBinAddr: 0x50A0, symSize: 0xA }
|
||||
- { offset: 0x16A1D, size: 0x8, addend: 0x0, symName: '-[MGLContext .cxx_destruct]', symObjAddr: 0x8E4, symBinAddr: 0x50AA, symSize: 0x28 }
|
||||
- { offset: 0x16A79, size: 0x8, addend: 0x0, symName: '__ZZN12_GLOBAL__N_110CurrentTLSEvEN3$_08__invokeEv', symObjAddr: 0x90C, symBinAddr: 0x50D2, symSize: 0x18 }
|
||||
- { offset: 0x195C5, size: 0x8, addend: 0x0, symName: __ZL20gGlobalDisplayHolder, symObjAddr: 0x32E0, symBinAddr: 0xBEA8, symSize: 0x0 }
|
||||
- { offset: 0x1963C, size: 0x8, addend: 0x0, symName: __ZL15gDefaultDisplay, symObjAddr: 0x32E8, symBinAddr: 0xBEB0, symSize: 0x0 }
|
||||
- { offset: 0x196AE, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder init]', symObjAddr: 0x0, symBinAddr: 0x5118, symSize: 0x10A }
|
||||
- { offset: 0x19815, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder dealloc]', symObjAddr: 0x10A, symBinAddr: 0x5222, symSize: 0x7C }
|
||||
- { offset: 0x19867, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder eglDisplay]', symObjAddr: 0x194, symBinAddr: 0x529E, symSize: 0xA }
|
||||
- { offset: 0x1989C, size: 0x8, addend: 0x0, symName: '-[EGLDisplayHolder setEglDisplay:]', symObjAddr: 0x19E, symBinAddr: 0x52A8, symSize: 0xA }
|
||||
- { offset: 0x198D9, size: 0x8, addend: 0x0, symName: '+[MGLDisplay defaultDisplay]', symObjAddr: 0x1A8, symBinAddr: 0x52B2, symSize: 0x4D }
|
||||
- { offset: 0x19924, size: 0x8, addend: 0x0, symName: '-[MGLDisplay init]', symObjAddr: 0x1F5, symBinAddr: 0x52FF, symSize: 0xC0 }
|
||||
- { offset: 0x19999, size: 0x8, addend: 0x0, symName: '-[MGLDisplay eglDisplay]', symObjAddr: 0x2B5, symBinAddr: 0x53BF, symSize: 0xA }
|
||||
- { offset: 0x199CE, size: 0x8, addend: 0x0, symName: '-[MGLDisplay .cxx_destruct]', symObjAddr: 0x2BF, symBinAddr: 0x53C9, symSize: 0x10 }
|
||||
- { offset: 0x19F08, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initImpl]', symObjAddr: 0x0, symBinAddr: 0x53D9, symSize: 0x6 }
|
||||
- { offset: 0x19F37, size: 0x8, addend: 0x0, symName: '-[MGLKViewController deallocImpl]', symObjAddr: 0x6, symBinAddr: 0x53DF, symSize: 0x6 }
|
||||
- { offset: 0x19F66, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidMoveToWindow]', symObjAddr: 0xC, symBinAddr: 0x53E5, symSize: 0x6 }
|
||||
- { offset: 0x19F95, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidLoad]', symObjAddr: 0x12, symBinAddr: 0x53EB, symSize: 0x3F }
|
||||
- { offset: 0x19FE4, size: 0x8, addend: 0x0, symName: __Z3maxll, symObjAddr: 0x51, symBinAddr: 0x542A, symSize: 0x10 }
|
||||
- { offset: 0x1A020, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPreferredFramesPerSecond:]', symObjAddr: 0x61, symBinAddr: 0x543A, symSize: 0x59 }
|
||||
- { offset: 0x1A08D, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pause]', symObjAddr: 0xBA, symBinAddr: 0x5493, symSize: 0xC5 }
|
||||
- { offset: 0x1A124, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resume]', symObjAddr: 0x17F, symBinAddr: 0x5558, symSize: 0x13F }
|
||||
- { offset: 0x1A1EB, size: 0x8, addend: 0x0, symName: '-[MGLKViewController init]', symObjAddr: 0x2BE, symBinAddr: 0x5697, symSize: 0x69 }
|
||||
- { offset: 0x1A248, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithNibName:bundle:]', symObjAddr: 0x327, symBinAddr: 0x5700, symSize: 0xBB }
|
||||
- { offset: 0x1A336, size: 0x8, addend: 0x0, symName: '-[MGLKViewController initWithCoder:]', symObjAddr: 0x3E2, symBinAddr: 0x57BB, symSize: 0x94 }
|
||||
- { offset: 0x1A3DC, size: 0x8, addend: 0x0, symName: '-[MGLKViewController constructor]', symObjAddr: 0x476, symBinAddr: 0x584F, symSize: 0x3F }
|
||||
- { offset: 0x1A40D, size: 0x8, addend: 0x0, symName: '-[MGLKViewController dealloc]', symObjAddr: 0x4B5, symBinAddr: 0x588E, symSize: 0x73 }
|
||||
- { offset: 0x1A454, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setView:]', symObjAddr: 0x536, symBinAddr: 0x5901, symSize: 0x255 }
|
||||
- { offset: 0x1A641, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPaused:]', symObjAddr: 0x78B, symBinAddr: 0x5B56, symSize: 0x30 }
|
||||
- { offset: 0x1A698, size: 0x8, addend: 0x0, symName: '-[MGLKViewController mglkView:drawInRect:]', symObjAddr: 0x7BB, symBinAddr: 0x5B86, symSize: 0x6 }
|
||||
- { offset: 0x1A6E1, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidAppear:]', symObjAddr: 0x7C1, symBinAddr: 0x5B8C, symSize: 0x109 }
|
||||
- { offset: 0x1A7DC, size: 0x8, addend: 0x0, symName: '-[MGLKViewController viewDidDisappear:]', symObjAddr: 0x8CA, symBinAddr: 0x5C95, symSize: 0x106 }
|
||||
- { offset: 0x1A8D7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appWillPause:]', symObjAddr: 0x9D0, symBinAddr: 0x5D9B, symSize: 0x51 }
|
||||
- { offset: 0x1A934, size: 0x8, addend: 0x0, symName: '-[MGLKViewController appDidBecomeActive:]', symObjAddr: 0xA21, symBinAddr: 0x5DEC, symSize: 0x43 }
|
||||
- { offset: 0x1A991, size: 0x8, addend: 0x0, symName: '-[MGLKViewController handleAppWasInBackground]', symObjAddr: 0xA64, symBinAddr: 0x5E2F, symSize: 0x33 }
|
||||
- { offset: 0x1A9DD, size: 0x8, addend: 0x0, symName: '-[MGLKViewController frameStep]', symObjAddr: 0xA97, symBinAddr: 0x5E62, symSize: 0x14F }
|
||||
- { offset: 0x1AB06, size: 0x8, addend: 0x0, symName: '-[MGLKViewController update]', symObjAddr: 0xBE6, symBinAddr: 0x5FB1, symSize: 0x27 }
|
||||
- { offset: 0x1AB45, size: 0x8, addend: 0x0, symName: '-[MGLKViewController delegate]', symObjAddr: 0xC0D, symBinAddr: 0x5FD8, symSize: 0x11 }
|
||||
- { offset: 0x1AB7A, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setDelegate:]', symObjAddr: 0xC1E, symBinAddr: 0x5FE9, symSize: 0x11 }
|
||||
- { offset: 0x1ABB7, size: 0x8, addend: 0x0, symName: '-[MGLKViewController preferredFramesPerSecond]', symObjAddr: 0xC2F, symBinAddr: 0x5FFA, symSize: 0x11 }
|
||||
- { offset: 0x1ABEC, size: 0x8, addend: 0x0, symName: '-[MGLKViewController framesDisplayed]', symObjAddr: 0xC40, symBinAddr: 0x600B, symSize: 0x11 }
|
||||
- { offset: 0x1AC21, size: 0x8, addend: 0x0, symName: '-[MGLKViewController timeSinceLastUpdate]', symObjAddr: 0xC51, symBinAddr: 0x601C, symSize: 0x12 }
|
||||
- { offset: 0x1AC56, size: 0x8, addend: 0x0, symName: '-[MGLKViewController isPaused]', symObjAddr: 0xC63, symBinAddr: 0x602E, symSize: 0x10 }
|
||||
- { offset: 0x1AC8B, size: 0x8, addend: 0x0, symName: '-[MGLKViewController pauseOnWillResignActive]', symObjAddr: 0xC73, symBinAddr: 0x603E, symSize: 0x10 }
|
||||
- { offset: 0x1ACC0, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setPauseOnWillResignActive:]', symObjAddr: 0xC83, symBinAddr: 0x604E, symSize: 0x10 }
|
||||
- { offset: 0x1ACFD, size: 0x8, addend: 0x0, symName: '-[MGLKViewController resumeOnDidBecomeActive]', symObjAddr: 0xC93, symBinAddr: 0x605E, symSize: 0x10 }
|
||||
- { offset: 0x1AD32, size: 0x8, addend: 0x0, symName: '-[MGLKViewController setResumeOnDidBecomeActive:]', symObjAddr: 0xCA3, symBinAddr: 0x606E, symSize: 0x10 }
|
||||
- { offset: 0x1AD6F, size: 0x8, addend: 0x0, symName: '-[MGLKViewController glView]', symObjAddr: 0xCB3, symBinAddr: 0x607E, symSize: 0x19 }
|
||||
- { offset: 0x1ADA6, size: 0x8, addend: 0x0, symName: '-[MGLKViewController .cxx_destruct]', symObjAddr: 0xCCC, symBinAddr: 0x6097, symSize: 0x2F }
|
||||
...
|
||||
@@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>ObjectAL.framework/ObjectAL</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>ObjectAL.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>ObjectAL.framework/ObjectAL</string>
|
||||
<key>DebugSymbolsPath</key>
|
||||
<string>dSYMs</string>
|
||||
<key>LibraryIdentifier</key>
|
||||
<string>ios-arm64_x86_64-simulator</string>
|
||||
<key>LibraryPath</key>
|
||||
<string>ObjectAL.framework</string>
|
||||
<key>SupportedArchitectures</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
<string>x86_64</string>
|
||||
</array>
|
||||
<key>SupportedPlatform</key>
|
||||
<string>ios</string>
|
||||
<key>SupportedPlatformVariant</key>
|
||||
<string>simulator</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XFWK</string>
|
||||
<key>XCFrameworkFormatVersion</key>
|
||||
<string>1.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
+138
@@ -0,0 +1,138 @@
|
||||
//
|
||||
// ALBuffer.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <OpenAL/al.h>
|
||||
|
||||
@class ALDevice;
|
||||
|
||||
|
||||
#pragma mark ALBuffer
|
||||
|
||||
/**
|
||||
* A buffer for audio data that will be played via a SoundSource.
|
||||
* @see SoundSource
|
||||
*/
|
||||
@interface ALBuffer : NSObject
|
||||
{
|
||||
ALDevice* device;
|
||||
ALuint bufferId;
|
||||
NSString* name;
|
||||
ALenum format;
|
||||
float duration;
|
||||
/** The uncompressed sound data to play. */
|
||||
void* bufferData;
|
||||
bool freeDataOnDestroy;
|
||||
ALBuffer* parentBuffer;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The size of a sample in bits. */
|
||||
@property(nonatomic,readonly,assign) ALint bits;
|
||||
|
||||
/** The ID assigned to this buffer by OpenAL. */
|
||||
@property(nonatomic,readonly,assign) ALuint bufferId;
|
||||
|
||||
/** The number of channels the buffer data plays in. */
|
||||
@property(nonatomic,readonly,assign) ALint channels;
|
||||
|
||||
/** The device this buffer was created for. */
|
||||
@property(nonatomic,readonly,retain) ALDevice* device;
|
||||
|
||||
/** The format of the audio data (see al.h, AL_FORMAT_XXX). */
|
||||
@property(nonatomic,readonly,assign) ALenum format;
|
||||
|
||||
/** The frequency this buffer runs at. */
|
||||
@property(nonatomic,readonly,assign) ALint frequency;
|
||||
|
||||
/** The name given to this buffer upon creation. You may change it at runtime if you wish. */
|
||||
@property(nonatomic,readwrite,retain) NSString* name;
|
||||
|
||||
/** The size, in bytes, of the currently loaded buffer data. */
|
||||
@property(nonatomic,readonly,assign) ALint size;
|
||||
|
||||
/** The duration of the sample in this buffer, in seconds. */
|
||||
@property(nonatomic,readonly,assign) float duration;
|
||||
|
||||
/** If true, calls free() on the audio data when this object gets destroyed.
|
||||
* Default: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool freeDataOnDestroy;
|
||||
|
||||
/** The parent buffer (which owns the uncompressed data) */
|
||||
@property(nonatomic,readwrite,retain) ALBuffer* parentBuffer;
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Make a new buffer.
|
||||
*
|
||||
* @param name Optional name that you can use to identify this buffer in your code.
|
||||
* @param data The sound data. Note: ALBuffer will call free() on this data when it is destroyed!
|
||||
* @param size The size of the data in bytes.
|
||||
* @param format The format of the data (see the Core Audio documentation).
|
||||
* @param frequency The sampling frequency in Hz.
|
||||
* @return A new buffer.
|
||||
*/
|
||||
+ (id) bufferWithName:(NSString*) name
|
||||
data:(void*) data
|
||||
size:(ALsizei) size
|
||||
format:(ALenum) format
|
||||
frequency:(ALsizei) frequency;
|
||||
|
||||
/** Initialize the buffer.
|
||||
*
|
||||
* @param name Optional name that you can use to identify this buffer in your code.
|
||||
* @param data The sound data. Note: ALBuffer will call free() on this data when it is destroyed!
|
||||
* @param size The size of the data in bytes.
|
||||
* @param format The format of the data (see the Core Audio documentation).
|
||||
* @param frequency The sampling frequency in Hz.
|
||||
* @return The initialized buffer.
|
||||
*/
|
||||
- (id) initWithName:(NSString*) name
|
||||
data:(void*) data
|
||||
size:(ALsizei) size
|
||||
format:(ALenum) format
|
||||
frequency:(ALsizei) frequency;
|
||||
|
||||
/** Returns a part of the buffer as a new buffer. You can use this method to split a buffer
|
||||
* into a sub-buffers. The sub-buffers retain a reference to their parent buffer, and share
|
||||
* the same memory. Therefore, modifying the parent buffer contents will affect its slices
|
||||
* and vice-versa.
|
||||
*
|
||||
* @param sliceName Optional name that you can use to identify the created buffer in your code.
|
||||
* @param offset The offset in sound frames where the slice starts.
|
||||
* @param size The size of the slice in frames.
|
||||
* @return The requested buffer.
|
||||
*/
|
||||
- (ALBuffer*)sliceWithName:(NSString *) sliceName offset:(ALsizei) offset size:(ALsizei) size;
|
||||
|
||||
|
||||
@end
|
||||
+135
@@ -0,0 +1,135 @@
|
||||
//
|
||||
// ALCaptureDevice.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-01-11.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <OpenAL/alc.h>
|
||||
|
||||
|
||||
#pragma mark ALCaptureDevice
|
||||
|
||||
/**
|
||||
* *UNIMPLEMENTED FOR IOS* An OpenAL device for capturing sound data.
|
||||
* Note: This functionality is NOT implemented in iOS OpenAL! <br>
|
||||
* This class is a placeholder in case such functionality is added in a future iOS SDK.
|
||||
*/
|
||||
@interface ALCaptureDevice : NSObject
|
||||
{
|
||||
ALCdevice* device;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The number of capture samples available. */
|
||||
@property(nonatomic,readonly,assign) int captureSamples;
|
||||
|
||||
/** The OpenAL device pointer. */
|
||||
@property(nonatomic,readonly,assign) ALCdevice* device;
|
||||
|
||||
/** List of strings describing all extensions available on this device (NSString*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* extensions;
|
||||
|
||||
/** The specification revision for this implementation (major version). */
|
||||
@property(nonatomic,readonly,assign) int majorVersion;
|
||||
|
||||
/** The specification revision for this implementation (minor version). */
|
||||
@property(nonatomic,readonly,assign) int minorVersion;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Open the specified device.
|
||||
*
|
||||
* @param deviceSpecifier The name of the device to open (nil = default device).
|
||||
* @param frequency The frequency to capture at.
|
||||
* @param format The audio format to capture as.
|
||||
* @param bufferSize The size of buffer that the device must allocate for audio capture.
|
||||
* @return A new capture device.
|
||||
*/
|
||||
+ (id) deviceWithDeviceSpecifier:(NSString*) deviceSpecifier
|
||||
frequency:(ALCuint) frequency
|
||||
format:(ALCenum) format
|
||||
bufferSize:(ALCsizei) bufferSize;
|
||||
|
||||
/** Open the specified device.
|
||||
*
|
||||
* @param deviceSpecifier The name of the device to open (nil = default device).
|
||||
* @param frequency The frequency to capture at.
|
||||
* @param format The audio format to capture as.
|
||||
* @param bufferSize The size of buffer that the device must allocate for audio capture.
|
||||
* @return The initialized capture device.
|
||||
*/
|
||||
- (id) initWithDeviceSpecifier:(NSString*) deviceSpecifier
|
||||
frequency:(ALCuint) frequency
|
||||
format:(ALCenum) format
|
||||
bufferSize:(ALCsizei) bufferSize;
|
||||
|
||||
|
||||
#pragma mark Audio Capture
|
||||
|
||||
/** Start capturing samples.
|
||||
*
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) startCapture;
|
||||
|
||||
/** Stop capturing samples.
|
||||
*
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) stopCapture;
|
||||
|
||||
/** Move captured samples to the specified buffer.
|
||||
* This method will fail if less than the specified number of samples have been captured.
|
||||
*
|
||||
* @param numSamples The number of samples to move.
|
||||
* @param buffer the buffer to move the samples into.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) moveSamples:(ALCsizei) numSamples toBuffer:(ALCvoid*) buffer;
|
||||
|
||||
|
||||
#pragma mark Extensions
|
||||
|
||||
/** Check if the specified extension is present.
|
||||
*
|
||||
* @param name The name of the extension to check.
|
||||
* @return TRUE if the extension is present.
|
||||
*/
|
||||
- (bool) isExtensionPresent:(NSString*) name;
|
||||
|
||||
/** Get the address of the specified procedure (C function address).
|
||||
*
|
||||
* @param functionName The name of the procedure to get.
|
||||
* @return the procedure's address, or NULL if it wasn't found.
|
||||
*/
|
||||
- (void*) getProcAddress:(NSString*) functionName;
|
||||
|
||||
|
||||
@end
|
||||
+239
@@ -0,0 +1,239 @@
|
||||
//
|
||||
// ChannelSource.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import "ALSoundSource.h"
|
||||
#import "ALSoundSourcePool.h"
|
||||
#import "ALContext.h"
|
||||
|
||||
|
||||
#pragma mark ALChannelSource
|
||||
|
||||
/**
|
||||
* A Sound source composed of other sources.
|
||||
* Property values are applied to all sources within the channel. <br>
|
||||
* Sounds will get played by any free sources within this channel. <br>
|
||||
* If all sources are busy when playback is requested, it will attempt to interrupt a source
|
||||
* to free it for playback.
|
||||
*/
|
||||
@interface ALChannelSource : NSObject <ALSoundSource>
|
||||
{
|
||||
/** Pool holding the actual sources */
|
||||
ALSoundSourcePool* sourcePool;
|
||||
ALContext* context;
|
||||
|
||||
/** If YES, the defaults of this channel have been initialized */
|
||||
bool defaultsInitialized;
|
||||
|
||||
float pitch;
|
||||
float gain;
|
||||
float maxDistance;
|
||||
float rolloffFactor;
|
||||
float referenceDistance;
|
||||
float minGain;
|
||||
float maxGain;
|
||||
float coneOuterGain;
|
||||
float coneInnerAngle;
|
||||
float coneOuterAngle;
|
||||
float reverbSendLevel;
|
||||
float reverbOcclusion;
|
||||
float reverbObstruction;
|
||||
|
||||
ALPoint position;
|
||||
ALVector velocity;
|
||||
ALVector direction;
|
||||
|
||||
int sourceRelative;
|
||||
int sourceType;
|
||||
bool looping;
|
||||
|
||||
/** Default pitch */
|
||||
float defaultPitch;
|
||||
/** Default gain */
|
||||
float defaultGain;
|
||||
/** Default max distance */
|
||||
float defaultMaxDistance;
|
||||
/** Default rolloff factor */
|
||||
float defaultRolloffFactor;
|
||||
/** Default reference distance */
|
||||
float defaultReferenceDistance;
|
||||
/** Default min gain */
|
||||
float defaultMinGain;
|
||||
/** Default max gain */
|
||||
float defaultMaxGain;
|
||||
/** Default cone outer gain */
|
||||
float defaultConeOuterGain;
|
||||
/** Default cone inner angle */
|
||||
float defaultConeInnerAngle;
|
||||
/** Default cone outer angle */
|
||||
float defaultConeOuterAngle;
|
||||
/** Default position */
|
||||
ALPoint defaultPosition;
|
||||
/** Default veloxity */
|
||||
ALVector defaultVelocity;
|
||||
/** Default direction */
|
||||
ALVector defaultDirection;
|
||||
/** Default source relative */
|
||||
int defaultSourceRelative;
|
||||
/** Default source type */
|
||||
int defaultSourceType;
|
||||
/** Default looping */
|
||||
bool defaultLooping;
|
||||
/** Default reverb send level */
|
||||
float defaultReverbSendLevel;
|
||||
/** Default occlusion */
|
||||
float defaultReverbOcclusion;
|
||||
/** Default obstruction */
|
||||
float defaultReverbObstruction;
|
||||
|
||||
|
||||
bool interruptible;
|
||||
bool muted;
|
||||
bool paused;
|
||||
|
||||
/** Target to inform when the current fade operation completes. */
|
||||
id fadeCompleteTarget;
|
||||
|
||||
/** Selector to call when the current fade operation completes. */
|
||||
SEL fadeCompleteSelector;
|
||||
|
||||
/** The expected number of sources that will callback when fading completes */
|
||||
int expectedFadeCallbackCount;
|
||||
|
||||
/** The actual number of sources that have called back */
|
||||
int currentFadeCallbackCount;
|
||||
|
||||
|
||||
/** Target to inform when the current pan operation completes. */
|
||||
id panCompleteTarget;
|
||||
|
||||
/** Selector to call when the current pan operation completes. */
|
||||
SEL panCompleteSelector;
|
||||
|
||||
/** The expected number of sources that will callback when panning completes */
|
||||
int expectedPanCallbackCount;
|
||||
|
||||
/** The actual number of sources that have called back */
|
||||
int currentPanCallbackCount;
|
||||
|
||||
|
||||
|
||||
/** Target to inform when the current pitch operation completes. */
|
||||
id pitchCompleteTarget;
|
||||
|
||||
/** Selector to call when the current pitch operation completes. */
|
||||
SEL pitchCompleteSelector;
|
||||
|
||||
/** The expected number of sources that will callback when pitch op completes */
|
||||
int expectedPitchCallbackCount;
|
||||
|
||||
/** The actual number of sources that have called back */
|
||||
int currentPitchCallbackCount;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** This source's owning context. */
|
||||
@property(nonatomic,readonly,retain) ALContext* context;
|
||||
|
||||
/** All sources being used by this channel. Do not modify! */
|
||||
@property(nonatomic,readonly,retain) ALSoundSourcePool* sourcePool;
|
||||
|
||||
/** The number of sources reserved by this channel. */
|
||||
@property(nonatomic,readwrite,assign) int reservedSources;
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a channel with a number of sources.
|
||||
*
|
||||
* @param reservedSources the number of sources to reserve for this channel.
|
||||
* @return A new channel.
|
||||
*/
|
||||
+ (id) channelWithSources:(int) reservedSources;
|
||||
|
||||
/** Initialize a channel with a number of sources.
|
||||
*
|
||||
* @param reservedSources the number of sources to reserve for this channel.
|
||||
* @return The initialized channel.
|
||||
*/
|
||||
- (id) initWithSources:(int) reservedSources;
|
||||
|
||||
/** Set this channel's default values from those in the specified source.
|
||||
*
|
||||
* @param source the source to set default values from.
|
||||
*/
|
||||
- (void) setDefaultsFromSource:(id<ALSoundSource>) source;
|
||||
|
||||
/** Reset all sources in this channel to their default state.
|
||||
*/
|
||||
- (void) resetToDefault;
|
||||
|
||||
/** Add a source to this channel.
|
||||
*
|
||||
* @param source The source to add.
|
||||
*/
|
||||
- (void) addSource:(id<ALSoundSource>) source;
|
||||
|
||||
/** Remove a source from the channel.
|
||||
*
|
||||
* @param source The source to remove. If nil, remove any source.
|
||||
* @return The source that was removed.
|
||||
*/
|
||||
- (id<ALSoundSource>) removeSource:(id<ALSoundSource>) source;
|
||||
|
||||
/** Split the specified number of sources from this channel, creating a new
|
||||
* channel.
|
||||
*
|
||||
* @param numSources The number of sources to split off
|
||||
* @return A new channel with the split-off sources.
|
||||
*/
|
||||
- (ALChannelSource*) splitChannelWithSources:(int) numSources;
|
||||
|
||||
/** Absorb another channel's sources into this one. All of the channel's sources
|
||||
* will be moved into this channel.
|
||||
*
|
||||
* @param channel The channel to absorb sources from.
|
||||
*/
|
||||
- (void) addChannel:(ALChannelSource*) channel;
|
||||
|
||||
/** Set all buffers in all non-playing sources to nil.
|
||||
*
|
||||
* @return A list of buffers that were cleared.
|
||||
*/
|
||||
- (NSArray*) clearUnusedBuffers;
|
||||
|
||||
/** Remove all instances of the specified buffer.
|
||||
*
|
||||
* @param name The name of the buffer.
|
||||
*
|
||||
* @return NO if any of the matching buffers are currently being played.
|
||||
*/
|
||||
- (BOOL) removeBuffersNamed:(NSString*) name;
|
||||
|
||||
@end
|
||||
+245
@@ -0,0 +1,245 @@
|
||||
//
|
||||
// ALContext.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-01-09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <OpenAL/alc.h>
|
||||
#import "ALListener.h"
|
||||
#import "ALSource.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
|
||||
@class ALDevice;
|
||||
|
||||
|
||||
#pragma mark ALContext
|
||||
|
||||
/**
|
||||
* A context encompasses a single listener and a series of sources.
|
||||
* A context is created from a device, and many contexts may be created
|
||||
* (though multiple contexts would be unusual in an iOS app). <br>
|
||||
*
|
||||
* Note: Some property values are only valid if this context is the current
|
||||
* context.
|
||||
*
|
||||
* @see ObjectAL.currentContext
|
||||
*/
|
||||
@interface ALContext : NSObject <OALSuspendManager>
|
||||
{
|
||||
ALCcontext* context;
|
||||
/** All sound sources associated with this context. */
|
||||
NSMutableArray* sources;
|
||||
ALListener* listener;
|
||||
bool suspended;
|
||||
/** This context's attributes. */
|
||||
NSMutableArray* attributes;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** OpenAL version string in format
|
||||
* “[spec major number].[spec minor number] [optional vendor version information]”
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSString* alVersion;
|
||||
|
||||
/** The current context's attribute list.
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSArray* attributes;
|
||||
|
||||
/** The OpenAL context pointer. */
|
||||
@property(nonatomic,readonly,assign) ALCcontext* context;
|
||||
|
||||
/** The device this context was opened on. */
|
||||
@property(nonatomic,readonly,retain) ALDevice* device;
|
||||
|
||||
/** The current distance model.
|
||||
* Legal values are AL_NONE, AL_INVERSE_DISTANCE, AL_INVERSE_DISTANCE_CLAMPED,
|
||||
* AL_LINEAR_DISTANCE, AL_LINEAR_DISTANCE_CLAMPED, AL_EXPONENT_DISTANCE,
|
||||
* and AL_EXPONENT_DISTANCE_CLAMPED. See the OpenAL spec for detailed information. <br>
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALenum distanceModel;
|
||||
|
||||
/** Exaggeration factor for Doppler effect.
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float dopplerFactor;
|
||||
|
||||
/** List of available extensions (NSString*).
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSArray* extensions;
|
||||
|
||||
/** This context's listener. */
|
||||
@property(nonatomic,readonly,retain) ALListener* listener;
|
||||
|
||||
/** Information about the specific renderer.
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSString* renderer;
|
||||
|
||||
/** All sources associated with this context (ALSource*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* sources;
|
||||
|
||||
/** Speed of sound in same units as velocities.
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float speedOfSound;
|
||||
|
||||
/** Name of the vendor.
|
||||
* Only valid when this is the current context.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSString* vendor;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a new context on the specified device.
|
||||
*
|
||||
* @param device The device to open the context on.
|
||||
* @param attributes An array of NSNumber in ordered pairs (attribute id followed by integer value).
|
||||
* Posible attributes: ALC_FREQUENCY, ALC_REFRESH, ALC_SYNC, ALC_MONO_SOURCES, ALC_STEREO_SOURCES
|
||||
* @return A new context.
|
||||
*/
|
||||
+ (id) contextOnDevice:(ALDevice *) device attributes:(NSArray*) attributes;
|
||||
|
||||
/** Create a new context on the specified device with attributes.
|
||||
*
|
||||
* @param device The device to open the context on.
|
||||
* @param outputFrequency The frequency to mix all sources to before outputting (ignored by iOS).
|
||||
* @param refreshIntervals The number of passes per second used to mix the audio sources.
|
||||
* For games this can be 5-15. For audio intensive apps, it should be higher (ignored by iOS).
|
||||
* @param synchronousContext If true, this context runs on the main thread and depends on you
|
||||
* calling alcUpdateContext (ignored by iOS).
|
||||
* @param monoSources A hint indicating how many sources should support mono (default 28 on iOS).
|
||||
* @param stereoSources A hint indicating how many sources should support stereo (default 4 on iOS).
|
||||
* @return A new context.
|
||||
*/
|
||||
+ (id) contextOnDevice:(ALDevice*) device
|
||||
outputFrequency:(int) outputFrequency
|
||||
refreshIntervals:(int) refreshIntervals
|
||||
synchronousContext:(bool) synchronousContext
|
||||
monoSources:(int) monoSources
|
||||
stereoSources:(int) stereoSources;
|
||||
|
||||
|
||||
/** Initialize this context on the specified device with attributes.
|
||||
*
|
||||
* @param device The device to open the context on.
|
||||
* @param outputFrequency The frequency to mix all sources to before outputting (ignored by iOS).
|
||||
* @param refreshIntervals The number of passes per second used to mix the audio sources.
|
||||
* For games this can be 5-15. For audio intensive apps, it should be higher (ignored by iOS).
|
||||
* @param synchronousContext If true, this context runs on the main thread and depends on you
|
||||
* calling alcUpdateContext (ignored by iOS).
|
||||
* @param monoSources A hint indicating how many sources should support mono (default 28 on iOS).
|
||||
* @param stereoSources A hint indicating how many sources should support stereo (default 4 on iOS).
|
||||
* @return The initialized context.
|
||||
*/
|
||||
- (id) initOnDevice:(ALDevice*) device
|
||||
outputFrequency:(int) outputFrequency
|
||||
refreshIntervals:(int) refreshIntervals
|
||||
synchronousContext:(bool) synchronousContext
|
||||
monoSources:(int) monoSources
|
||||
stereoSources:(int) stereoSources;
|
||||
|
||||
|
||||
/** Initialize this context for the specified device and attributes.
|
||||
*
|
||||
* @param device The device to open the context on.
|
||||
* @param attributes An array of NSNumber in ordered pairs (attribute id followed by integer value).
|
||||
* Posible attributes: ALC_FREQUENCY, ALC_REFRESH, ALC_SYNC, ALC_MONO_SOURCES, ALC_STEREO_SOURCES
|
||||
* @return The initialized context.
|
||||
*/
|
||||
- (id) initOnDevice:(ALDevice *) device attributes:(NSArray*) attributes;
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Process this context.
|
||||
*/
|
||||
- (void) process;
|
||||
|
||||
/** Stop all sound sources in this context.
|
||||
*/
|
||||
- (void) stopAllSounds;
|
||||
|
||||
/** Clear all buffers being used by sources in this context.
|
||||
*/
|
||||
- (void) clearBuffers;
|
||||
|
||||
/** Make sure this context is the current context.
|
||||
* This method is used to work around iOS 4.0 and 4.2 bugs
|
||||
* that could cause the context to be lost.
|
||||
*/
|
||||
- (void) ensureContextIsCurrent;
|
||||
|
||||
#pragma mark Extensions
|
||||
|
||||
/** Check if the specified extension is present in this context.
|
||||
* Only valid when this is the current context.
|
||||
*
|
||||
* @param name The name of the extension to check.
|
||||
* @return TRUE if the extension is present in this context.
|
||||
*/
|
||||
- (bool) isExtensionPresent:(NSString*) name;
|
||||
|
||||
/** Get the address of the specified procedure (C function address).
|
||||
* Only valid when this is the current context. <br>
|
||||
* <strong>Note:</strong> The OpenAL implementation is free to return
|
||||
* a pointer even if it is not valid for this context. Always call isExtensionPresent
|
||||
* first.
|
||||
*
|
||||
* @param functionName the name of the procedure to get.
|
||||
* @return the procedure's address, or NULL if it wasn't found.
|
||||
*/
|
||||
- (void*) getProcAddress:(NSString*) functionName;
|
||||
|
||||
|
||||
#pragma mark Internal Use
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Used by ALSource to announce initialization.
|
||||
*
|
||||
* @param source the source that is initializing.
|
||||
*/
|
||||
- (void) notifySourceInitializing:(ALSource*) source;
|
||||
|
||||
/** (INTERNAL USE) Used by ALSource to announce deallocation.
|
||||
*
|
||||
* @param source the source that is deallocating.
|
||||
*/
|
||||
- (void) notifySourceDeallocating:(ALSource*) source;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
//
|
||||
// ALDevice.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-01-09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <OpenAL/alc.h>
|
||||
#import "ALContext.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
|
||||
#pragma mark ALDevice
|
||||
|
||||
/**
|
||||
* A device is a logical mapping to an audio device through the OpenAL implementation.
|
||||
*/
|
||||
@interface ALDevice : NSObject <OALSuspendManager>
|
||||
{
|
||||
ALCdevice* device;
|
||||
/** All contexts opened from this device. */
|
||||
NSMutableArray* contexts;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** All contexts created on this device (ALContext*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* contexts;
|
||||
|
||||
/** The OpenAL device pointer. */
|
||||
@property(nonatomic,readonly,assign) ALCdevice* device;
|
||||
|
||||
/** List of strings describing all extensions available on this device (NSString*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* extensions;
|
||||
|
||||
/** The specification revision for this implementation (major version). */
|
||||
@property(nonatomic,readonly,assign) int majorVersion;
|
||||
|
||||
/** The specification revision for this implementation (minor version). */
|
||||
@property(nonatomic,readonly,assign) int minorVersion;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Open the specified device.
|
||||
*
|
||||
* @param deviceSpecifier The device to open (nil = default device).
|
||||
* @return A new device.
|
||||
*/
|
||||
+ (id) deviceWithDeviceSpecifier:(NSString*) deviceSpecifier;
|
||||
|
||||
/** Initialize with the specified device.
|
||||
*
|
||||
* @param deviceSpecifier The device to open (nil = default device).
|
||||
* @return the initialized device.
|
||||
*/
|
||||
- (id) initWithDeviceSpecifier:(NSString*) deviceSpecifier;
|
||||
|
||||
|
||||
#pragma mark Extensions
|
||||
|
||||
/** Check if the specified extension is present.
|
||||
*
|
||||
* @param name The extension to check.
|
||||
* @return TRUE if the extension is present.
|
||||
*/
|
||||
- (bool) isExtensionPresent:(NSString*) name;
|
||||
|
||||
/** Get the address of the specified procedure (C function address).
|
||||
*
|
||||
* @param functionName the name of the procedure to get.
|
||||
* @return the procedure's address, or NULL if it wasn't found.
|
||||
*/
|
||||
- (void*) getProcAddress:(NSString*) functionName;
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Clear all buffers being used by sources of contexts opened on this device.
|
||||
*/
|
||||
- (void) clearBuffers;
|
||||
|
||||
|
||||
#pragma mark Internal Use
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Used by ALContext to announce initialization.
|
||||
*
|
||||
* @param context The context that is initializing.
|
||||
*/
|
||||
- (void) notifyContextInitializing:(ALContext*) context;
|
||||
|
||||
/** (INTERNAL USE) Used by ALContext to announce deallocation.
|
||||
*
|
||||
* @param context The context that is deallocating.
|
||||
*/
|
||||
- (void) notifyContextDeallocating:(ALContext*) context;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
+144
@@ -0,0 +1,144 @@
|
||||
//
|
||||
// ALListener.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-01-07.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "ALTypes.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
@class ALContext;
|
||||
|
||||
|
||||
#pragma mark ALListener
|
||||
|
||||
/**
|
||||
* The listener represents the user who is listening to sounds in 3D space.
|
||||
* This object controls his position, orientation, and velocity, as well as providing a master
|
||||
* gain. <br>
|
||||
* A context contains one and only one listener.
|
||||
*/
|
||||
@interface ALListener : NSObject <OALSuspendManager>
|
||||
{
|
||||
bool muted;
|
||||
float gain;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The context this listener belongs to (WEAK reference). */
|
||||
@property(nonatomic,readonly,assign) ALContext* context;
|
||||
|
||||
/** Causes this listener to stop hearing sound.
|
||||
* It's called "muted" rather than "deaf" to give a consistent name with other mute functions.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool muted;
|
||||
|
||||
/** Gain (volume), affecting every sound this listener hears (0.0 = no sound, 1.0 = max volume).
|
||||
* Only valid if this listener's context is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float gain;
|
||||
|
||||
/** Orientation (up: x, y, z, at: x, y, z).
|
||||
* Only valid if this listener's context is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALOrientation orientation;
|
||||
|
||||
/** Position (x, y, z).
|
||||
* Only valid if this listener's context is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALPoint position;
|
||||
|
||||
/** Velocity (x, y, z).
|
||||
* Only valid if this listener's context is the current context.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALVector velocity;
|
||||
|
||||
/** Turns on reverb. (iOS 5.0+)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool reverbOn;
|
||||
|
||||
/** The global reverb level (from -40.0db to 40.0db). (iOS 5.0+)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float globalReverbLevel;
|
||||
|
||||
/** The room type to simulate for reverb. (iOS 5.0+)
|
||||
*
|
||||
* Allowed room types:
|
||||
*
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_SmallRoom
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_MediumRoom
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_LargeRoom
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_MediumHall
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_LargeHall
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_Plate
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_MediumChamber
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_LargeChamber
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_Cathedral
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_LargeRoom2
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_MediumHall2
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_MediumHall3
|
||||
* ALC_ASA_REVERB_ROOM_TYPE_LargeHall2
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) int reverbRoomType;
|
||||
|
||||
/** The equalizer gain for reverb. (iOS 5.0+)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbEQGain;
|
||||
|
||||
/** The equalizer bandwidth for reverb. (iOS 5.0+)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbEQBandwidth;
|
||||
|
||||
/** The equalizer frequency for reverb. (iOS 5.0+)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbEQFrequency;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Create a listener for the specified context.
|
||||
*
|
||||
* @param context the context to create this listener on.
|
||||
* @return A new listener.
|
||||
*/
|
||||
+ (id) listenerForContext:(ALContext*) context;
|
||||
|
||||
/** (INTERNAL USE) Initialize a listener for the specified context.
|
||||
*
|
||||
* @param context the context to create this listener on.
|
||||
* @return The initialized listener.
|
||||
*/
|
||||
- (id) initWithContext:(ALContext*) context;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
+243
@@ -0,0 +1,243 @@
|
||||
//
|
||||
// SoundSource.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "ALBuffer.h"
|
||||
#import "ALTypes.h"
|
||||
|
||||
|
||||
#pragma mark ALSoundSource
|
||||
|
||||
/**
|
||||
* Manages all properties relating to an OpenAL sound source.
|
||||
* There are currently two classes that adhere to this protocol: ALSource
|
||||
* and ChannelSource (which collectively manipulates a set of ALSource objects).
|
||||
* A full description of the properties themselves is available in the
|
||||
* OpenAL 1.1 Specification and Reference:
|
||||
* http://connect.creativelabs.com/openal/Documentation
|
||||
*/
|
||||
@protocol ALSoundSource <NSObject>
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** Cone inner angle (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float coneInnerAngle;
|
||||
|
||||
/** Cone outer angle (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float coneOuterAngle;
|
||||
|
||||
/** Cone outer gain (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float coneOuterGain;
|
||||
|
||||
/** Direction (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) ALVector direction;
|
||||
|
||||
/** Gain (volume) (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float gain;
|
||||
|
||||
/** Volume (alias to gain). */
|
||||
@property(nonatomic,readwrite,assign) float volume;
|
||||
|
||||
/** If true, this source may be interrupted when resources are low. */
|
||||
@property(nonatomic,readwrite,assign) bool interruptible;
|
||||
|
||||
/** Looping (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) bool looping;
|
||||
|
||||
/** Max distance (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float maxDistance;
|
||||
|
||||
/** Max gain (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float maxGain;
|
||||
|
||||
/** Min gain (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float minGain;
|
||||
|
||||
/** If true, this source is muted. */
|
||||
@property(nonatomic,readwrite,assign) bool muted;
|
||||
|
||||
/** If true, this source is currently paused. */
|
||||
@property(nonatomic,readwrite,assign) bool paused;
|
||||
|
||||
/** Pitch (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float pitch;
|
||||
|
||||
/** If true, this source is currently playing audio. */
|
||||
@property(nonatomic,readonly,assign) bool playing;
|
||||
|
||||
/** Position (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) ALPoint position;
|
||||
|
||||
/** Reference distance (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float referenceDistance;
|
||||
|
||||
/** Rolloff factor (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) float rolloffFactor;
|
||||
|
||||
/** Source relative (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) int sourceRelative;
|
||||
|
||||
/** Source type (OpenAL property). */
|
||||
@property(nonatomic,readonly,assign) int sourceType;
|
||||
|
||||
/** Velocity (OpenAL property). */
|
||||
@property(nonatomic,readwrite,assign) ALVector velocity;
|
||||
|
||||
/** Pan value (-1.0 = far left, 1.0 = far right).
|
||||
* Note: This effect is simulated by changing the source's X position.
|
||||
* Do not use this property if you are modifying the position property as well.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float pan;
|
||||
|
||||
/** Reverb send level (how much reverb affects this source). (iOS 5.0+)
|
||||
* 0.0 = fully dry, 1.0 = fully wet.
|
||||
* Default 0.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbSendLevel;
|
||||
|
||||
/** Reverb occlusion (wall/door between listener and source). (iOS 5.0+)
|
||||
* -100.0db (most occlusion) to 0.0 (no occlusion).
|
||||
* Default 0.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbOcclusion;
|
||||
|
||||
/** Reverb obstruction (object between listener and source). (iOS 5.0+)
|
||||
* -100.0db (most obstruction) to 0.0 (no obstruction).
|
||||
* Default 0.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float reverbObstruction;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
|
||||
#pragma mark Playback
|
||||
|
||||
/** Play a sound.
|
||||
*
|
||||
* @param buffer the buffer to play.
|
||||
* @return the source playing the sound, or nil if the sound could not be played.
|
||||
*/
|
||||
- (id<ALSoundSource>) play:(ALBuffer*) buffer;
|
||||
|
||||
/** Play a sound, optionally looping.
|
||||
*
|
||||
* @param buffer the buffer to play.
|
||||
* @param loop If TRUE, the sound will loop until you call "stop" on the returned sound source.
|
||||
* @return the source playing the sound, or nil if the sound could not be played.
|
||||
*/
|
||||
- (id<ALSoundSource>) play:(ALBuffer*) buffer loop:(bool) loop;
|
||||
|
||||
/** Play a sound, setting gain, pitch, pan, and looping.
|
||||
*
|
||||
* @param buffer the buffer to play.
|
||||
* @param gain The gain (volume) to play at (0.0 - 1.0).
|
||||
* @param pitch The pitch to play at (1.0 = normal pitch).
|
||||
* @param pan Left-right panning (-1.0 = far left, 1.0 = far right).
|
||||
* @param loop If TRUE, the sound will loop until you call "stop" on the returned sound source.
|
||||
* @return the source playing the sound, or nil if the sound could not be played.
|
||||
*/
|
||||
- (id<ALSoundSource>) play:(ALBuffer*) buffer
|
||||
gain:(float) gain
|
||||
pitch:(float) pitch
|
||||
pan:(float) pan
|
||||
loop:(bool) loop;
|
||||
|
||||
/** Stop playing the current sound.
|
||||
*/
|
||||
- (void) stop;
|
||||
|
||||
/** Stop playing the current sound and set its state to AL_INITIAL.
|
||||
*/
|
||||
- (void) rewind;
|
||||
|
||||
/** Fade to the specified gain value.
|
||||
*
|
||||
* @param gain The gain to fade to.
|
||||
* @param duration The duration of the fade operation in seconds.
|
||||
* @param target The target to notify when the fade completes (can be nil).
|
||||
* @param selector The selector to call when the fade completes. The selector must accept
|
||||
* a single parameter, which will be the object that performed the fade.
|
||||
*/
|
||||
- (void) fadeTo:(float) gain
|
||||
duration:(float) duration
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Stop the currently running fade operation, if any.
|
||||
*/
|
||||
- (void) stopFade;
|
||||
|
||||
/** pan to the specified value.
|
||||
*
|
||||
* @param pan The value to pan to.
|
||||
* @param duration The duration of the pan operation in seconds.
|
||||
* @param target The target to notify when the pan completes (can be nil).
|
||||
* @param selector The selector to call when the pan completes. The selector must accept
|
||||
* a single parameter, which will be the object that performed the pan.
|
||||
*/
|
||||
- (void) panTo:(float) pan
|
||||
duration:(float) duration
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Stop the currently running pan operation, if any.
|
||||
*/
|
||||
- (void) stopPan;
|
||||
|
||||
/** Gradually change pitch to the specified value.
|
||||
*
|
||||
* @param pitch The value to change pitch to.
|
||||
* @param duration The duration of the pitch operation in seconds.
|
||||
* @param target The target to notify when the pitch change completes (can be nil).
|
||||
* @param selector The selector to call when the pitch change completes. The selector
|
||||
* must accept a single parameter, which will be the object that performed the pitch change.
|
||||
*/
|
||||
- (void) pitchTo:(float) pitch
|
||||
duration:(float) duration
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Stop the currently running pitch operation, if any.
|
||||
*/
|
||||
- (void) stopPitch;
|
||||
|
||||
/** Stop any currently running fade, pan, or pitch operations.
|
||||
*/
|
||||
- (void) stopActions;
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Clear any buffers this source is currently using.
|
||||
*/
|
||||
- (void) clear;
|
||||
|
||||
@end
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// SoundSourcePool.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 17/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import "ALSoundSource.h"
|
||||
|
||||
|
||||
#pragma mark ALSoundSourcePool
|
||||
|
||||
/**
|
||||
* A pool of sound sources, which can be fetched based on availability.
|
||||
*/
|
||||
@interface ALSoundSourcePool : NSObject
|
||||
{
|
||||
/** All sources managed by this pool (id<ALSoundSource>). */
|
||||
NSMutableArray* sources;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** All sources managed by this pool (id<ALSoundSource>). */
|
||||
@property(nonatomic,readonly,retain) NSArray* sources;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Make a new pool.
|
||||
* @return A new pool.
|
||||
*/
|
||||
+ (id) pool;
|
||||
|
||||
|
||||
#pragma mark Source Management
|
||||
|
||||
/** Add a source to this pool.
|
||||
*
|
||||
* @param source The source to add.
|
||||
*/
|
||||
- (void) addSource:(id<ALSoundSource>) source;
|
||||
|
||||
/** Remove a source from this pool
|
||||
*
|
||||
* @param source The source to remove.
|
||||
*/
|
||||
- (void) removeSource:(id<ALSoundSource>) source;
|
||||
|
||||
/** Acquire a free or freeable source from this pool.
|
||||
* It first attempts to find a completely free source.
|
||||
* Failing this, it will attempt to interrupt a source and return that (if attemptToInterrupt
|
||||
* is TRUE).
|
||||
*
|
||||
* @param attemptToInterrupt If TRUE, attempt to interrupt sources to free them for use.
|
||||
* @return The freed sound source, or nil if no sources are freeable.
|
||||
*/
|
||||
- (id<ALSoundSource>) getFreeSource:(bool) attemptToInterrupt;
|
||||
|
||||
@end
|
||||
+223
@@ -0,0 +1,223 @@
|
||||
//
|
||||
// ALSource.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <OpenAL/al.h>
|
||||
#import "ALSoundSource.h"
|
||||
#import "ALBuffer.h"
|
||||
#import "OALAction.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
@class ALContext;
|
||||
@class ALSource;
|
||||
|
||||
|
||||
typedef void (^OALSourceNotificationCallback)(ALSource* source, ALuint notificationID, ALvoid* userData);
|
||||
|
||||
#pragma mark ALSource
|
||||
|
||||
/**
|
||||
* A source represents an object that emits sound which can be heard by a listener.
|
||||
* This source can have position, velocity, and direction.
|
||||
*/
|
||||
@interface ALSource : NSObject <ALSoundSource, OALSuspendManager>
|
||||
{
|
||||
ALuint sourceId;
|
||||
bool interruptible;
|
||||
float gain;
|
||||
bool muted;
|
||||
|
||||
/** Shadow value which keeps the correct state value
|
||||
* for AL_PLAYING and AL_PAUSED.
|
||||
* We need this due to a buggy OpenAL implementation.
|
||||
*/
|
||||
int shadowState;
|
||||
|
||||
/** Used to abort a pending playback resume if the user calls
|
||||
* stop or pause.
|
||||
*/
|
||||
bool abortPlaybackResume;
|
||||
|
||||
ALBuffer* buffer;
|
||||
ALContext* context;
|
||||
|
||||
/** Current action operating on the gain control. */
|
||||
OALAction* gainAction;
|
||||
|
||||
/** Current action operating on the pan control. */
|
||||
OALAction* panAction;
|
||||
|
||||
/** Current action operating on the pitch control. */
|
||||
OALAction* pitchAction;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The sound buffer this source is attached to (set to nil to detach the currently attached
|
||||
* buffer).
|
||||
*/
|
||||
@property(nonatomic,readwrite,retain) ALBuffer* buffer;
|
||||
|
||||
/** How many buffers this source has queued. */
|
||||
@property(nonatomic,readonly,assign) int buffersQueued;
|
||||
|
||||
/** How many of these buffers have been processed during playback. */
|
||||
@property(nonatomic,readonly,assign) int buffersProcessed;
|
||||
|
||||
/** The context this source was opened on. */
|
||||
@property(nonatomic,readonly,retain) ALContext* context;
|
||||
|
||||
/** The offset into the current buffer (in bytes). */
|
||||
@property(nonatomic,readwrite,assign) float offsetInBytes;
|
||||
|
||||
/** The offset into the current buffer (in samples). */
|
||||
@property(nonatomic,readwrite,assign) float offsetInSamples;
|
||||
|
||||
/** The offset into the current buffer (in seconds). */
|
||||
@property(nonatomic,readwrite,assign) float offsetInSeconds;
|
||||
|
||||
/** OpenAL's ID for this source. */
|
||||
@property(nonatomic,readonly,assign) ALuint sourceId;
|
||||
|
||||
/** The state of this source. */
|
||||
@property(nonatomic,readwrite,assign) int state;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a new source.
|
||||
*
|
||||
* @return A new source.
|
||||
*/
|
||||
+ (id) source;
|
||||
|
||||
/** Create a new source on the specified context.
|
||||
*
|
||||
* @param context the context to create the source on.
|
||||
* @return A new source.
|
||||
*/
|
||||
+ (id) sourceOnContext:(ALContext*) context;
|
||||
|
||||
/** Initialize a new source on the specified context.
|
||||
*
|
||||
* @param context the context to create the source on.
|
||||
* @return A new source.
|
||||
*/
|
||||
- (id) initOnContext:(ALContext*) context;
|
||||
|
||||
|
||||
#pragma mark Playback
|
||||
|
||||
/** Play the currently attached buffer.
|
||||
*
|
||||
* @return the source playing the sound, or nil if the sound could not be played.
|
||||
*/
|
||||
- (id<ALSoundSource>) play;
|
||||
|
||||
|
||||
#pragma mark Queued Playback
|
||||
|
||||
/** Add a buffer to the buffer queue.
|
||||
*
|
||||
* @param buffer the buffer to add to the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) queueBuffer:(ALBuffer*) buffer;
|
||||
|
||||
/** Add a buffer to the buffer queue, repeating it multiple times.
|
||||
*
|
||||
* @param buffer the buffer to add to the queue.
|
||||
* @param repeats the number of times to repeat the buffer in the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) queueBuffer:(ALBuffer*) buffer repeats:(NSUInteger) repeats;
|
||||
|
||||
/** Add buffers to the buffer queue.
|
||||
*
|
||||
* @param buffers the buffers to add to the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) queueBuffers:(NSArray*) buffers;
|
||||
|
||||
/** Add buffers to the buffer queue, repeating it multiple times.
|
||||
* The buffers will be played in order, repeating the specified number of times.
|
||||
*
|
||||
* @param buffers the buffers to add to the queue.
|
||||
* @param repeats the number of times to repeat the buffer in the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) queueBuffers:(NSArray*) buffers repeats:(NSUInteger) repeats;
|
||||
|
||||
/** Remove a buffer from the buffer queue.
|
||||
*
|
||||
* @param buffer the buffer to remove from the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) unqueueBuffer:(ALBuffer*) buffer;
|
||||
|
||||
/** Remove buffers from the buffer queue
|
||||
*
|
||||
* @param buffers the buffers to remove from the queue.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) unqueueBuffers:(NSArray*) buffers;
|
||||
|
||||
|
||||
#pragma mark Notifications
|
||||
|
||||
/** Register to receive notifications about an event on this source. (iOS 5.0+)
|
||||
*
|
||||
* The following notification types are recognized:
|
||||
* AL_SOURCE_STATE - Sent when a source's state changes.
|
||||
* AL_BUFFERS_PROCESSED - Sent when all buffers have been processed.
|
||||
* AL_QUEUE_HAS_LOOPED - Sent when a looping source has looped to it's start point.
|
||||
*
|
||||
* @param notificationID The kind of notification to be informed of (see above).
|
||||
* @param callback The block to call for notification.
|
||||
* @param userData a pointer that will be passed to the callback.
|
||||
*/
|
||||
- (void) registerNotification:(ALuint) notificationID
|
||||
callback:(OALSourceNotificationCallback) callback
|
||||
userData:(void*) userData;
|
||||
|
||||
/** Unregister notifications for a notification type on this source. (iOS 5.0+)
|
||||
*
|
||||
* @param notificationID The kind of notification to remove.
|
||||
*/
|
||||
- (void) unregisterNotification:(ALuint) notificationID;
|
||||
|
||||
/** Unregister all notifications for this source. (iOS 5.0+)
|
||||
*/
|
||||
- (void) unregisterAllNotifications;
|
||||
|
||||
@end
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
//
|
||||
// OpenAL.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
|
||||
#pragma mark Types
|
||||
|
||||
/**
|
||||
* Represents a 3-dimensional point for certain ObjectAL properties.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
/** The "X" coordinate */
|
||||
float x;
|
||||
/** The "Y" coordinate */
|
||||
float y;
|
||||
/** The "Z" coordinate */
|
||||
float z;
|
||||
} ALPoint;
|
||||
|
||||
/**
|
||||
* Represents a 3-dimensional vector for certain ObjectAL properties.
|
||||
* Properties are the same as for ALPoint.
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
/** The "X" coordinate */
|
||||
float x;
|
||||
/** The "Y" coordinate */
|
||||
float y;
|
||||
/** The "Z" coordinate */
|
||||
float z;
|
||||
} ALVector;
|
||||
|
||||
/**
|
||||
* Represents an orientation, consisting of an "at" vector (representing the "forward" direction),
|
||||
* and the "up" vector (representing "up" for the subject).
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
/** The "at" vector, representing "forward" */
|
||||
ALVector at;
|
||||
/** The "up" vector, representing "up" */
|
||||
ALVector up;
|
||||
} ALOrientation;
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Convenience Methods
|
||||
|
||||
/** Convenience inline for creating an ALPoint.
|
||||
*
|
||||
* @param x The X coordinate.
|
||||
* @param y The Y coordinate.
|
||||
* @param z The Z coordinate.
|
||||
* @return An ALPoint.
|
||||
*/
|
||||
static inline ALPoint alpoint(const float x, const float y, const float z)
|
||||
{
|
||||
ALPoint point = {x, y, z};
|
||||
return point;
|
||||
}
|
||||
|
||||
/** Convenience inline for creating an ALVector.
|
||||
*
|
||||
* @param x The X component.
|
||||
* @param y The Y component.
|
||||
* @param z The Z component.
|
||||
* @return An ALVector.
|
||||
*/
|
||||
static inline ALVector alvector(const float x, const float y, const float z)
|
||||
{
|
||||
ALVector vector = {x, y, z};
|
||||
return vector;
|
||||
}
|
||||
|
||||
/** Convenience inline for creating an ALOrientation.
|
||||
*
|
||||
* @param atX The X component of "at".
|
||||
* @param atY The Y component of "at".
|
||||
* @param atZ The Z component of "at".
|
||||
* @param upX The X component of "up".
|
||||
* @param upY The Y component of "up".
|
||||
* @param upZ The Z component of "up".
|
||||
* @return An ALOrientation.
|
||||
*/
|
||||
static inline ALOrientation alorientation(const float atX,
|
||||
const float atY,
|
||||
const float atZ,
|
||||
const float upX,
|
||||
const float upY,
|
||||
const float upZ)
|
||||
{
|
||||
ALOrientation orientation = { {atX, atY, atZ}, {upX,upY,upZ} };
|
||||
return orientation;
|
||||
}
|
||||
|
||||
static inline ALPoint ALPointMake(float x, float y, float z)
|
||||
{
|
||||
ALPoint p;
|
||||
p.x = x;
|
||||
p.y = y;
|
||||
p.z = z;
|
||||
|
||||
return p;
|
||||
}
|
||||
+1149
File diff suppressed because it is too large
Load Diff
+325
@@ -0,0 +1,325 @@
|
||||
//
|
||||
// OALAction.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-09-18.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "ObjectALConfig.h"
|
||||
|
||||
|
||||
#if OBJECTAL_CFG_USE_COCOS2D_ACTIONS
|
||||
|
||||
#pragma mark Cocos2d Subclassing
|
||||
|
||||
#import "cocos2d.h"
|
||||
|
||||
/** Generates common code required to subclass from a cocos2d action
|
||||
* while maintaining the functionality of an OALAction.
|
||||
*/
|
||||
#define COCOS2D_SUBCLASS_HEADER(CLASS_A,CLASS_B) \
|
||||
@interface CLASS_A: CLASS_B \
|
||||
{ \
|
||||
bool started_; \
|
||||
} \
|
||||
\
|
||||
@property(nonatomic,readonly,assign) bool running; \
|
||||
- (void) runWithTarget:(id) target; \
|
||||
- (void) prepareWithTarget:(id) target; \
|
||||
- (void) stopAction; \
|
||||
- (void) updateCompletion:(float) proportionComplete; \
|
||||
\
|
||||
@end
|
||||
|
||||
|
||||
|
||||
/** Generates common code required to subclass from a cocos2d action
|
||||
* while maintaining the functionality of an OALAction.
|
||||
*/
|
||||
#define COCOS2D_SUBCLASS(CLASS_A) \
|
||||
@implementation CLASS_A \
|
||||
\
|
||||
- (id) init \
|
||||
{ \
|
||||
return [self initWithDuration:0]; \
|
||||
} \
|
||||
\
|
||||
-(void) startWithTarget:(id) targetIn \
|
||||
{ \
|
||||
[super startWithTarget:targetIn]; \
|
||||
[self prepareWithTarget:targetIn]; \
|
||||
started_ = YES; \
|
||||
[self runWithTarget:targetIn]; \
|
||||
} \
|
||||
\
|
||||
- (void) update:(float) proportionComplete \
|
||||
{ \
|
||||
[super update:proportionComplete]; \
|
||||
[self updateCompletion:proportionComplete]; \
|
||||
} \
|
||||
\
|
||||
- (bool) running \
|
||||
{ \
|
||||
return !self.isDone; \
|
||||
} \
|
||||
\
|
||||
- (void) runWithTarget:(id) targetIn \
|
||||
{ \
|
||||
if(!started_) \
|
||||
{ \
|
||||
[[CCActionManager sharedManager] addAction:self target:targetIn paused:NO]; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
- (void) stopAction \
|
||||
{ \
|
||||
[[CCActionManager sharedManager] removeAction:self]; \
|
||||
} \
|
||||
|
||||
#endif /* OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
|
||||
|
||||
|
||||
/* There are two versions of the actions which can be used: ObjectAL and Cocos2d.
|
||||
* It's usually more convenient when using Cocos2d to have all actions as part of
|
||||
* the Cocos2d action system. You can set this in ObjectALConfig.h
|
||||
*/
|
||||
#if !OBJECTAL_CFG_USE_COCOS2D_ACTIONS
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALAction (ObjectAL version)
|
||||
|
||||
/**
|
||||
* Represents an action that can be performed on an object.
|
||||
*/
|
||||
@interface OALAction : NSObject
|
||||
{
|
||||
/** \cond */
|
||||
float duration_;
|
||||
float elapsed_;
|
||||
bool running_;
|
||||
/** \endcond */
|
||||
|
||||
/** If TRUE, this action is running via OALActionManager. */
|
||||
bool runningInManager_;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The target to perform the action on. WEAK REFERENCE. */
|
||||
@property(nonatomic,readonly,assign) id target;
|
||||
|
||||
/** The duration of the action, in seconds. */
|
||||
@property(nonatomic,readonly,assign) float duration;
|
||||
|
||||
/** The amount of time that has elapsed for this action, in seconds. */
|
||||
@property(nonatomic,readwrite,assign) float elapsed;
|
||||
|
||||
/** If true, the action is currently running. */
|
||||
@property(nonatomic,readonly,assign) bool running;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param duration The duration of this action in seconds.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithDuration:(float) duration;
|
||||
|
||||
|
||||
#pragma mark Functions
|
||||
|
||||
/** Run this action on a target.
|
||||
*
|
||||
* @param target The target to run the action on.
|
||||
*/
|
||||
- (void) runWithTarget:(id) target;
|
||||
|
||||
/** Called by runWithTraget to do any final preparations before running.
|
||||
* Subclasses must ensure that duration is valid when this method returns.
|
||||
*
|
||||
* @param target The target to run the action on.
|
||||
*/
|
||||
- (void) prepareWithTarget:(id) target;
|
||||
|
||||
|
||||
/** Called by runWithTarget to start the action running.
|
||||
*/
|
||||
- (void) startAction;
|
||||
|
||||
/** Called by OALActionManager to update this action's progress.
|
||||
*
|
||||
* @param proportionComplete The proportion of this action's duration that has elapsed.
|
||||
*/
|
||||
- (void) updateCompletion:(float) proportionComplete;
|
||||
|
||||
/** Stop this action.
|
||||
*/
|
||||
- (void) stopAction;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#else /* !OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
|
||||
COCOS2D_SUBCLASS_HEADER(OALAction, CCActionInterval);
|
||||
|
||||
#endif /* !OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALPropertyAction
|
||||
|
||||
@interface OALPropertyAction: OALAction
|
||||
|
||||
/** The value that the property in the target will hold at the start of the action. */
|
||||
@property(nonatomic,readwrite,assign) float startValue;
|
||||
|
||||
/** The value that the property in the target will hold at the end of the action. */
|
||||
@property(nonatomic,readwrite,assign) float endValue;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a new action using the default function.
|
||||
* The start value will be the current value of the target this action is applied to.
|
||||
*
|
||||
* @param duration The duration of this action in seconds.
|
||||
* @param propertyKey The property to modify.
|
||||
* @param endValue The "ending" value that this action will converge upon when setting the target's property.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithDuration:(float) duration
|
||||
propertyKey:(NSString*) propertyKey
|
||||
endValue:(float) endValue;
|
||||
|
||||
/** Create a new action.
|
||||
*
|
||||
* @param duration The duration of this action in seconds.
|
||||
* @param propertyKey The property to modify.
|
||||
* @param startValue The "starting" value that this action will diverge from when setting the target's
|
||||
* property. If NAN, use the current value from the target.
|
||||
* @param endValue The "ending" value that this action will converge upon when setting the target's property.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithDuration:(float) duration
|
||||
propertyKey:(NSString*) propertyKey
|
||||
startValue:(float) startValue
|
||||
endValue:(float) endValue;
|
||||
|
||||
/** Initialize an action using the default function.
|
||||
* The start value will be the current value of the target this action is applied to.
|
||||
*
|
||||
* @param duration The duration of this action in seconds.
|
||||
* @param propertyKey The property to modify.
|
||||
* @param endValue The "ending" value that this action will converge upon when setting the target's property.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithDuration:(float) duration
|
||||
propertyKey:(NSString*) propertyKey
|
||||
endValue:(float) endValue;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param duration The duration of this action in seconds.
|
||||
* @param propertyKey The property to modify.
|
||||
* @param startValue The "starting" value that this action will diverge from when setting the target's
|
||||
* property. If NAN, use the current value from the target.
|
||||
* @param endValue The "ending" value that this action will converge upon when setting the target's property.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithDuration:(float) duration
|
||||
propertyKey:(NSString*) propertyKey
|
||||
startValue:(float) startValue
|
||||
endValue:(float) endValue;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALEaseAction
|
||||
|
||||
typedef float (*EaseFunctionPtr)(float);
|
||||
|
||||
typedef enum
|
||||
{
|
||||
kOALEaseIn,
|
||||
kOALEaseOut,
|
||||
kOALEaseInOut,
|
||||
} OALEasePhase;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
kOALEaseShapeSine,
|
||||
kOALEaseShapeExponential,
|
||||
} OALEaseShape;
|
||||
|
||||
/**
|
||||
* Applies an easing function to another action.
|
||||
* Normally, an action progresses at a linear rate. An ease changes that to a
|
||||
* curve.
|
||||
*/
|
||||
@interface OALEaseAction: OALAction
|
||||
{
|
||||
OALAction* action_;
|
||||
}
|
||||
|
||||
/** Create a new ease action.
|
||||
*
|
||||
* @param shape The shape of the curve to apply.
|
||||
* @param phase What phase of the action to apply the curve to.
|
||||
* @action The action to apple the curve to.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (OALEaseAction*) actionWithShape:(OALEaseShape) shape
|
||||
phase:(OALEasePhase) phase
|
||||
action:(OALAction*) action;
|
||||
|
||||
/** Initialize an ease action.
|
||||
*
|
||||
* @param shape The shape of the curve to apply.
|
||||
* @param phase What phase of the action to apply the curve to.
|
||||
* @action The action to apple the curve to.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithShape:(OALEaseShape) shape
|
||||
phase:(OALEasePhase) phase
|
||||
action:(OALAction*) action;
|
||||
|
||||
/** Get a pointer to an ease function of the specified shape and phase.
|
||||
*
|
||||
* @param shape The shape of the curve to apply.
|
||||
* @param phase What phase of the action to apply the curve to.
|
||||
* @return a pointer to the appropriate function.
|
||||
*/
|
||||
+ (EaseFunctionPtr) easeFunctionForShape:(OALEaseShape) shape
|
||||
phase:(OALEasePhase) phase;
|
||||
|
||||
@end
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// OALActionManager.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-09-18.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "SynthesizeSingleton.h"
|
||||
#import "OALAction.h"
|
||||
#import "ObjectALConfig.h"
|
||||
|
||||
/* This object is only available if OBJECTAL_CFG_USE_COCOS2D_ACTIONS is enabled in ObjectALConfig.h.
|
||||
*/
|
||||
#if !OBJECTAL_CFG_USE_COCOS2D_ACTIONS
|
||||
|
||||
|
||||
#pragma mark OALActionManager
|
||||
|
||||
/**
|
||||
* Manages all ObjectAL actions.
|
||||
*/
|
||||
@interface OALActionManager : NSObject
|
||||
{
|
||||
/** All targets that have actions running on them (id). */
|
||||
NSMutableArray* targets;
|
||||
|
||||
/** Parallel array to "targets", maintaining a list of all actions per target (NSMutableArray*) */
|
||||
NSMutableArray* targetActions;
|
||||
|
||||
/** All actions that are to be added on the next pass (OALAction*) */
|
||||
NSMutableArray* actionsToAdd;
|
||||
|
||||
/** All actions that are to be removed on the next pass (OALAction*) */
|
||||
NSMutableArray* actionsToRemove;
|
||||
|
||||
/** The timer which we use to update the actions. */
|
||||
NSTimer* stepTimer;
|
||||
|
||||
/** The last time that was recorded. */
|
||||
uint64_t lastTimestamp;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Singleton implementation providing "sharedInstance" and "purgeSharedInstance" methods.
|
||||
*
|
||||
* <b>- (OALAudioSupport*) sharedInstance</b>: Get the shared singleton instance. <br>
|
||||
* <b>- (void) purgeSharedInstance</b>: Purge (deallocate) the shared instance.
|
||||
*/
|
||||
SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(OALActionManager);
|
||||
|
||||
|
||||
#pragma mark Action Management
|
||||
|
||||
/** Stops ALL running actions on ALL targets.
|
||||
*/
|
||||
- (void) stopAllActions;
|
||||
|
||||
|
||||
#pragma mark Internal Use
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Used by OALAction to announce that it is starting.
|
||||
*
|
||||
* @param action The action that is starting.
|
||||
*/
|
||||
- (void) notifyActionStarted:(OALAction*) action;
|
||||
|
||||
/** (INTERNAL USE) Used by OALAction to announce that it is stopping.
|
||||
*
|
||||
* @param action The action that is stopping.
|
||||
*/
|
||||
- (void) notifyActionStopped:(OALAction*) action;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
|
||||
#endif /* OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
+224
@@ -0,0 +1,224 @@
|
||||
//
|
||||
// OALAudioActions.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-10-10.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import "OALAction.h"
|
||||
#import "ALTypes.h"
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Audio Property Actions
|
||||
|
||||
@interface OALPropertyAction (Audio)
|
||||
|
||||
+ (OALPropertyAction*) pitchActionWithDuration:(float) duration
|
||||
endValue:(float) endValue;
|
||||
|
||||
+ (OALPropertyAction*) pitchActionWithDuration:(float) duration
|
||||
startValue:(float) startValue
|
||||
endValue:(float) endValue;
|
||||
|
||||
+ (OALPropertyAction*) panActionWithDuration:(float) duration
|
||||
endValue:(float) endValue;
|
||||
|
||||
+ (OALPropertyAction*) panActionWithDuration:(float) duration
|
||||
startValue:(float) startValue
|
||||
endValue:(float) endValue;
|
||||
|
||||
+ (OALPropertyAction*) gainActionWithDuration:(float) duration
|
||||
endValue:(float) endValue;
|
||||
|
||||
+ (OALPropertyAction*) gainActionWithDuration:(float) duration
|
||||
startValue:(float) startValue
|
||||
endValue:(float) endValue;
|
||||
|
||||
@end
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALPlaceAction
|
||||
|
||||
/**
|
||||
* Places the target at the specified position.
|
||||
*/
|
||||
@interface OALPlaceAction : OALAction
|
||||
{
|
||||
ALPoint position;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The position where the target will be placed. */
|
||||
@property(nonatomic,readwrite,assign) ALPoint position;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create an action with the specified position.
|
||||
*
|
||||
* @param position The position to place the target at.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithPosition:(ALPoint) position;
|
||||
|
||||
/** Initialize an action with the specified position.
|
||||
*
|
||||
* @param position The position to place the target at.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithPosition:(ALPoint) position;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALMoveToAction
|
||||
|
||||
/**
|
||||
* Moves the target from its current position to the specified
|
||||
* position over time in 3D space.
|
||||
*/
|
||||
@interface OALMoveToAction : OALAction
|
||||
{
|
||||
float unitsPerSecond;
|
||||
|
||||
/** The point this move is starting at. */
|
||||
ALPoint startPoint;
|
||||
ALPoint position;
|
||||
|
||||
/** The distance being moved. */
|
||||
ALPoint delta;
|
||||
}
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The position to move the target to. */
|
||||
@property(nonatomic,readwrite,assign) ALPoint position;
|
||||
|
||||
/** The speed at which to move the target.
|
||||
* If this is 0, the target will be moved at the speed determined by duration.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float unitsPerSecond;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a new action.
|
||||
*
|
||||
* @param duration The duration of the move.
|
||||
* @param position The position to move to.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithDuration:(float) duration position:(ALPoint) position;
|
||||
|
||||
/** Create a new action.
|
||||
*
|
||||
* @param unitsPerSecond The rate of movement.
|
||||
* @param position The position to move to.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithUnitsPerSecond:(float) unitsPerSecond position:(ALPoint) position;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param duration The duration of the move.
|
||||
* @param position The position to move to.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithDuration:(float) duration position:(ALPoint) position;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param unitsPerSecond The rate of movement.
|
||||
* @param position The position to move to.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithUnitsPerSecond:(float) unitsPerSecond position:(ALPoint) position;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALMoveByAction
|
||||
|
||||
/**
|
||||
* Moves the target from its current position by the specified
|
||||
* delta over time in 3D space.
|
||||
*/
|
||||
@interface OALMoveByAction : OALAction
|
||||
{
|
||||
float unitsPerSecond;
|
||||
|
||||
/** The point this move is starting at. */
|
||||
ALPoint startPoint;
|
||||
ALPoint delta;
|
||||
}
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The amount to move the target by. */
|
||||
@property(nonatomic,readwrite,assign) ALPoint delta;
|
||||
|
||||
/** The speed at which to move the target.
|
||||
* If this is 0, the target will be moved at the speed determined by duration.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float unitsPerSecond;
|
||||
|
||||
/** Create a new action.
|
||||
*
|
||||
* @param duration The duration of the move.
|
||||
* @param delta The amount to move by.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithDuration:(float) duration delta:(ALPoint) delta;
|
||||
|
||||
/** Create a new action.
|
||||
*
|
||||
* @param unitsPerSecond The rate of movement.
|
||||
* @param delta The amount to move by.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithUnitsPerSecond:(float) unitsPerSecond delta:(ALPoint) delta;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param duration The duration of the move.
|
||||
* @param delta The amount to move by.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithDuration:(float) duration delta:(ALPoint) delta;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param unitsPerSecond The rate of movement.
|
||||
* @param delta The amount to move by.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithUnitsPerSecond:(float) unitsPerSecond delta:(ALPoint) delta;
|
||||
|
||||
@end
|
||||
+119
@@ -0,0 +1,119 @@
|
||||
//
|
||||
// OALAudioFile.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-12-24.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import "ALBuffer.h"
|
||||
|
||||
|
||||
/**
|
||||
* Maintains an open audio file and allows loading data from that file into
|
||||
* new ALBuffer objects.
|
||||
*/
|
||||
@interface OALAudioFile : NSObject
|
||||
{
|
||||
NSURL* url;
|
||||
bool reduceToMono;
|
||||
SInt64 totalFrames;
|
||||
|
||||
/** A description of the audio data in this file. */
|
||||
AudioStreamBasicDescription streamDescription;
|
||||
|
||||
/** The OS specific file handle */
|
||||
ExtAudioFileRef fileHandle;
|
||||
|
||||
/** The actual number of channels in the audio data if not reducing to mono */
|
||||
UInt32 originalChannelsPerFrame;
|
||||
}
|
||||
|
||||
/** The URL of the audio file */
|
||||
@property(nonatomic,readonly,retain) NSURL* url;
|
||||
|
||||
/** A description of the audio data in this file. */
|
||||
@property(nonatomic,readonly,assign) AudioStreamBasicDescription* streamDescription;
|
||||
|
||||
/** The total number of audio frames in this file */
|
||||
@property(nonatomic,readonly,assign) SInt64 totalFrames;
|
||||
|
||||
/** If YES, reduce any stereo data to mono (stereo samples don't support panning or positional audio). */
|
||||
@property(nonatomic,readwrite,assign) bool reduceToMono;
|
||||
|
||||
/** Open the audio file at the specified URL.
|
||||
*
|
||||
* @param url The URL to open the audio file from.
|
||||
* @param reduceToMono If YES, reduce any stereo track to mono
|
||||
(stereo samples don't support panning or positional audio).
|
||||
* @return a new audio file object.
|
||||
*/
|
||||
+ (OALAudioFile*) fileWithUrl:(NSURL*) url
|
||||
reduceToMono:(bool) reduceToMono;
|
||||
|
||||
/** Initialize this object with the audio file at the specified URL.
|
||||
*
|
||||
* @param url The URL to open the audio file from.
|
||||
* @param reduceToMono If YES, reduce any stereo track to mono
|
||||
(stereo samples don't support panning or positional audio).
|
||||
* @return the initialized audio file object.
|
||||
*/
|
||||
- (id) initWithUrl:(NSURL*) url
|
||||
reduceToMono:(bool) reduceToMono;
|
||||
|
||||
/** Read audio data from this file into a new buffer.
|
||||
*
|
||||
* @param startFrame The starting audio frame to read data from.
|
||||
* @param numFrames The number of frames to read.
|
||||
* @param bufferSize On successful return, contains the size of the returned buffer, in bytes.
|
||||
* @return The audio data or nil on error. You are responsible for calling free() on the data.
|
||||
*/
|
||||
- (void*) audioDataWithStartFrame:(SInt64) startFrame
|
||||
numFrames:(SInt64) numFrames
|
||||
bufferSize:(UInt32*) bufferSize;
|
||||
|
||||
/** Create a new ALBuffer with the contents of this file.
|
||||
*
|
||||
* @param name The name to be given to this ALBuffer.
|
||||
* @param startFrame The starting audio frame to read data from.
|
||||
* @param numFrames The number of frames to read.
|
||||
* @return a new ALBuffer containing the audio data.
|
||||
*/
|
||||
- (ALBuffer*) bufferNamed:(NSString*) name
|
||||
startFrame:(SInt64) startFrame
|
||||
numFrames:(SInt64) numFrames;
|
||||
|
||||
/** Convenience method to load the entire contents of a URL into a new ALBuffer.
|
||||
*
|
||||
* @param url The URL to open the audio file from.
|
||||
* @param reduceToMono If YES, reduce any stereo track to mono
|
||||
(stereo samples don't support panning or positional audio).
|
||||
* @return an ALBuffer object.
|
||||
*/
|
||||
+ (ALBuffer*) bufferFromUrl:(NSURL*) url
|
||||
reduceToMono:(bool) reduceToMono;
|
||||
|
||||
@end
|
||||
+200
@@ -0,0 +1,200 @@
|
||||
//
|
||||
// OALAudioSession.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-12-19.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import "SynthesizeSingleton.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
|
||||
/**
|
||||
* Handles the audio session and interrupts.
|
||||
*/
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && !defined(__TV_OS_VERSION_MIN_REQUIRED)
|
||||
@interface OALAudioSession : NSObject <AVAudioSessionDelegate, OALSuspendManager>
|
||||
#else
|
||||
@interface OALAudioSession : NSObject <OALSuspendManager>
|
||||
#endif
|
||||
{
|
||||
/** The current audio session category */
|
||||
NSString* audioSessionCategory;
|
||||
|
||||
/** Flag signifying that we are currently handling an error notification.
|
||||
* This prevents onAudioError: from becoming reentrant due to
|
||||
* self.manuallySuspended setting off a chain of calls that result in
|
||||
* another error notification broadcast.
|
||||
*/
|
||||
bool handlingErrorNotification;
|
||||
|
||||
bool handleInterruptions;
|
||||
bool allowIpod;
|
||||
bool ipodDucking;
|
||||
bool useHardwareIfAvailable;
|
||||
bool honorSilentSwitch;
|
||||
|
||||
bool audioSessionActive;
|
||||
|
||||
/** If true, the audio session was active when the interrupt occurred. */
|
||||
bool audioSessionWasActive;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
|
||||
/** Marks the last time the audio session was reset due to error.
|
||||
* This is used to avoid getting stuck in a rapid-fire reset-error loop.
|
||||
*/
|
||||
NSDate* lastResetTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The current audio session category.
|
||||
* If this value is explicitly set, the other session properties "allowIpod",
|
||||
* "useHardwareIfAvailable", "honorSilentSwitch", and "ipodDucking" may be modified
|
||||
* to remain compatible with the category.
|
||||
*
|
||||
* @see AVAudioSessionCategory
|
||||
*
|
||||
* Default value: nil
|
||||
*/
|
||||
@property(nonatomic,readwrite,retain) NSString* audioSessionCategory;
|
||||
|
||||
/** If YES, allow ipod music to continue playing (NOT SUPPORTED ON THE SIMULATOR).
|
||||
* Note: If this is enabled, and another app is playing music, background audio
|
||||
* playback will use the SOFTWARE codecs, NOT hardware. <br>
|
||||
*
|
||||
* If allowIpod = NO, the application will ALWAYS use hardware decoding. <br>
|
||||
*
|
||||
* @see useHardwareIfAvailable
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool allowIpod;
|
||||
|
||||
/** If YES, ipod music will duck (lower in volume) when the audio session activates.
|
||||
*
|
||||
* Default value: NO
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool ipodDucking;
|
||||
|
||||
/** Determines what to do if no other application is playing audio and allowIpod = YES
|
||||
* (NOT SUPPORTED ON THE SIMULATOR). <br>
|
||||
*
|
||||
* If NO, the application will ALWAYS use software decoding. The advantage to this is that
|
||||
* the user can background your application and then start audio playing from another
|
||||
* application. If useHardwareIfAvailable = YES, the user won't be able to do this. <br>
|
||||
*
|
||||
* If this is set to YES, the application will use hardware decoding if no other application
|
||||
* is currently playing audio. However, no other application will be able to start playing
|
||||
* audio if it wasn't playing already. <br>
|
||||
*
|
||||
* Note: This switch has no effect if allowIpod = NO. <br>
|
||||
*
|
||||
* @see allowIpod
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool useHardwareIfAvailable;
|
||||
|
||||
/** If true, mute when backgrounded, screen locked, or the ringer switch is
|
||||
* turned off (NOT SUPPORTED ON THE SIMULATOR). <br>
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool honorSilentSwitch;
|
||||
|
||||
/** If true, automatically handle interruptions. <br>
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool handleInterruptions;
|
||||
|
||||
#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && !defined(__TV_OS_VERSION_MIN_REQUIRED)
|
||||
/** Delegate that will receive all audio session events (WEAK reference).
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) id<AVAudioSessionDelegate> audioSessionDelegate;
|
||||
#endif
|
||||
|
||||
/** If true, the audio session is active */
|
||||
@property(nonatomic,readwrite,assign) bool audioSessionActive;
|
||||
|
||||
/** The preferred I/O buffer duration, in seconds. Lower values give less
|
||||
* playback latencey, but use more CPU.
|
||||
* @deprecated Use AVAudioSession instead.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float preferredIOBufferDuration __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_6_1);
|
||||
|
||||
/** If true, another application (usually iPod) is playing music.
|
||||
* @deprecated Use AVAudioSession instead.
|
||||
*/
|
||||
@property(nonatomic,readonly,assign) bool ipodPlaying __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_6_1);
|
||||
|
||||
/** Get the device's final hardware output volume, as controlled by
|
||||
* the volume button on the side of the device.
|
||||
* @deprecated Use AVAudioSession instead.
|
||||
*/
|
||||
@property(nonatomic,readonly,assign) float hardwareVolume __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_6_1);
|
||||
|
||||
/** Check if the hardware mute switch is on (not supported on the simulator or iOS 5+).
|
||||
* Note: If headphones are plugged in, hardwareMuted will always return FALSE
|
||||
* regardless of the switch state.
|
||||
*
|
||||
* Note: Please file a bug report with Apple to get this functionality restored in iOS 5!
|
||||
*/
|
||||
@property(nonatomic,readonly,assign) bool hardwareMuted __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_5_0);
|
||||
|
||||
/** Check what hardware route the audio is taking, such as "Speaker" or "Headphone"
|
||||
* (not supported on the simulator).
|
||||
* @deprecated Use AVAudioSession instead.
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) NSString* audioRoute __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_NA,__MAC_NA,__IPHONE_2_0,__IPHONE_6_1);
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Singleton implementation providing "sharedInstance" and "purgeSharedInstance" methods.
|
||||
*
|
||||
* <b>- (OALAudioSupport*) sharedInstance</b>: Get the shared singleton instance. <br>
|
||||
* <b>- (void) purgeSharedInstance</b>: Purge (deallocate) the shared instance.
|
||||
*/
|
||||
SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(OALAudioSession);
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Force an interrupt end. This can be useful in cases where a buggy OS
|
||||
* fails to end an interrupt.
|
||||
*
|
||||
* Be VERY CAREFUL when using this!
|
||||
*/
|
||||
- (void) forceEndInterruption;
|
||||
|
||||
@end
|
||||
+443
@@ -0,0 +1,443 @@
|
||||
//
|
||||
// OALAudioTrack.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-08-21.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
#import "OALAction.h"
|
||||
#import "OALAudioTrackNotifications.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
/**
|
||||
* Plays an audio track via AVAudioPlayer.
|
||||
* Unlike AVAudioPlayer, however, it can be re-used to play another file.
|
||||
* Interruptions can be handled by OALAudioSupport (enabled by default).
|
||||
*/
|
||||
@interface OALAudioTrack : NSObject <AVAudioPlayerDelegate, OALSuspendManager>
|
||||
{
|
||||
/** If true, this track is recording metering data */
|
||||
bool meteringEnabled;
|
||||
bool interrupted;
|
||||
AVAudioPlayer* player;
|
||||
NSURL* currentlyLoadedUrl;
|
||||
bool preloaded;
|
||||
bool autoPreload;
|
||||
bool paused;
|
||||
bool muted;
|
||||
float gain;
|
||||
float pan;
|
||||
NSInteger numberOfLoops;
|
||||
id<AVAudioPlayerDelegate> delegate; // Weak reference
|
||||
|
||||
/** When the simulator is running (and the playback fix is in use),
|
||||
* player will be copied to here, and then player set to nil.
|
||||
* This prevents other code from inadvertently raising the volume
|
||||
* and starting playback.
|
||||
*/
|
||||
AVAudioPlayer* simulatorPlayerRef;
|
||||
|
||||
/** Operation queue for running asynchronous operations.
|
||||
* <strong>Note:</strong> Only one asynchronous operation is allowed at a time.
|
||||
*/
|
||||
NSOperationQueue* operationQueue;
|
||||
|
||||
/** If true, the audio player is currently playing.
|
||||
* We need to maintain our own value because AVAudioPlayer will
|
||||
* sometimes say it's not playing when it actually is.
|
||||
*/
|
||||
bool playing;
|
||||
NSTimeInterval currentTime;
|
||||
|
||||
/** The current action being applied to gain. */
|
||||
OALAction* gainAction;
|
||||
|
||||
/** The current action being applied to pan. */
|
||||
OALAction* panAction;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The URL of the currently loaded audio data. */
|
||||
@property(nonatomic,readonly,retain) NSURL* currentlyLoadedUrl;
|
||||
|
||||
/** Optional object that will receive notifications for decoding errors,
|
||||
* audio interruptions (such as an incoming phone call), and playback completion. <br>
|
||||
* <strong>Note:</strong> OALAudioTrack keeps a WEAK reference to delegate, so make sure you clear it
|
||||
* when your object is going to be deallocated.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) id<AVAudioPlayerDelegate> delegate;
|
||||
|
||||
/** The gain (volume) for playback (0.0 - 1.0, where 1.0 = no attenuation). */
|
||||
@property(nonatomic,readwrite,assign) float gain;
|
||||
|
||||
/** The volume (alias to gain) for playback (0.0 - 1.0, where 1.0 = no attenuation). */
|
||||
@property(nonatomic,readwrite,assign) float volume;
|
||||
|
||||
/** Pan value (-1.0 = far left, 1.0 = far right).
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) float pan;
|
||||
|
||||
/** If true, audio track is muted */
|
||||
@property(nonatomic,readwrite,assign) bool muted;
|
||||
|
||||
/** If true, automatically preload again when playback stops */
|
||||
@property(nonatomic,readwrite,assign) bool autoPreload;
|
||||
|
||||
/** If true, audio track is in preloaded state */
|
||||
@property(nonatomic,readonly,assign) bool preloaded;
|
||||
|
||||
/** The number of times to loop playback (-1 = forever).
|
||||
* <strong>Note:</strong> This value will be ignored, and get changed when you call the various playXX methods.
|
||||
* Only "play" will use the current value of "numberOfLoops".
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) NSInteger numberOfLoops;
|
||||
|
||||
/** If true, pause playback. */
|
||||
@property(nonatomic,readwrite,assign) bool paused;
|
||||
|
||||
/** Access to the underlying AVAudioPlayer object.
|
||||
* WARNING: Be VERY careful when accessing this, as some methods could cause
|
||||
* it to fall out of sync with OALAudioTrack (particularly play/pause/stop methods).
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) AVAudioPlayer* player;
|
||||
|
||||
/** If true, background music is currently playing. */
|
||||
@property(nonatomic,readonly,assign) bool playing;
|
||||
|
||||
/** The current playback position in seconds from the start of the sound.
|
||||
* You can set this to change the playback position, whether it is currently playing or not.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) NSTimeInterval currentTime;
|
||||
|
||||
/** The value of this property increases monotonically while an audio player is playing or paused. <br><br>
|
||||
*
|
||||
* If more than one audio player is connected to the audio output device, device time continues
|
||||
* incrementing as long as at least one of the players is playing or paused. <br><br>
|
||||
*
|
||||
* If the audio output device has no connected audio players that are either playing or paused,
|
||||
* device time reverts to 0. <br><br>
|
||||
*
|
||||
* Use this property to indicate “now” when calling the playAtTime: instance method. By configuring
|
||||
* multiple audio players to play at a specified offset from deviceCurrentTime, you can perform
|
||||
* precise synchronization—as described in the discussion for that method.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*/
|
||||
@property(nonatomic,readonly,assign) NSTimeInterval deviceCurrentTime;
|
||||
|
||||
/** The duration, in seconds, of the currently loaded sound. */
|
||||
@property(nonatomic,readonly,assign) NSTimeInterval duration;
|
||||
|
||||
/** The number of channels in the currently loaded sound. */
|
||||
@property(nonatomic,readonly,assign) NSUInteger numberOfChannels;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create a new audio track.
|
||||
*
|
||||
* @return A new audio track.
|
||||
*/
|
||||
+ (id) track;
|
||||
|
||||
|
||||
#pragma mark Playback
|
||||
|
||||
/** Preload the contents of a URL for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadUrl:(NSURL*) url;
|
||||
|
||||
/** Preload the contents of a URL for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param seekTime The position in the file to start playing at.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadUrl:(NSURL*) url seekTime:(NSTimeInterval)seekTime;
|
||||
|
||||
/** Preload the contents of a file for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadFile:(NSString*) path;
|
||||
|
||||
/** Preload the contents of a file for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param seekTime The position in the file to start playing at.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadFile:(NSString*) path seekTime:(NSTimeInterval)seekTime;
|
||||
|
||||
/** Asynchronously preload the contents of a URL for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param target the target to inform when preparation is complete.
|
||||
* @param selector the selector to call when preparation is complete.
|
||||
* @return TRUE if the operation was successfully queued.
|
||||
*/
|
||||
- (bool) preloadUrlAsync:(NSURL*) url target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Asynchronously preload the contents of a URL for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param seekTime The position in the file to start playing at.
|
||||
* @param target the target to inform when preparation is complete.
|
||||
* @param selector the selector to call when preparation is complete.
|
||||
* @return TRUE if the operation was successfully queued.
|
||||
*/
|
||||
- (bool) preloadUrlAsync:(NSURL*) url seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Asynchronously preload the contents of a file for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param target the target to inform when preparation is complete.
|
||||
* @param selector the selector to call when preparation is complete.
|
||||
* @return TRUE if the operation was successfully queued.
|
||||
*/
|
||||
- (bool) preloadFileAsync:(NSString*) path target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Asynchronously preload the contents of a file for playback.
|
||||
* Once the audio data is preloaded, you can call "play" to play it. <br>
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param seekTime The position in the file to start playing at.
|
||||
* @param target the target to inform when preparation is complete.
|
||||
* @param selector the selector to call when preparation is complete.
|
||||
* @return TRUE if the operation was successfully queued.
|
||||
*/
|
||||
- (bool) preloadFileAsync:(NSString*) path seekTime:(NSTimeInterval)seekTime target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Play the contents of a URL once.
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playUrl:(NSURL*) url;
|
||||
|
||||
/** Play the contents of a URL and loop the specified number of times.
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param loops The number of times to loop playback (-1 = forever)
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playUrl:(NSURL*) url loops:(NSInteger) loops;
|
||||
|
||||
/** Play the contents of a file once.
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playFile:(NSString*) path;
|
||||
|
||||
/** Play the contents of a file and loop the specified number of times.
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param loops The number of times to loop playback (-1 = forever)
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playFile:(NSString*) path loops:(NSInteger) loops;
|
||||
|
||||
/** Play the contents of a URL asynchronously once.
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param target the target to inform when playing has started.
|
||||
* @param selector the selector to call when playing has started.
|
||||
*/
|
||||
- (void) playUrlAsync:(NSURL*) url target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Play the contents of a URL asynchronously and loop the specified number of times.
|
||||
*
|
||||
* @param url The URL containing the sound data.
|
||||
* @param loops The number of times to loop playback (-1 = forever)
|
||||
* @param target the target to inform when playing has started.
|
||||
* @param selector the selector to call when playing has started.
|
||||
*/
|
||||
- (void) playUrlAsync:(NSURL*) url
|
||||
loops:(NSInteger) loops
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Play the contents of a file asynchronously once.
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param target the target to inform when playing has started.
|
||||
* @param selector the selector to call when playing has started.
|
||||
*/
|
||||
- (void) playFileAsync:(NSString*) path target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Play the contents of a file asynchronously and loop the specified number of times.
|
||||
*
|
||||
* @param path The file containing the sound data.
|
||||
* @param loops The number of times to loop playback (-1 = forever)
|
||||
* @param target the target to inform when playing has started.
|
||||
* @param selector the selector to call when playing has started.
|
||||
*/
|
||||
- (void) playFileAsync:(NSString*) path
|
||||
loops:(NSInteger) loops
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Play the currently loaded audio track.
|
||||
*
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) play;
|
||||
|
||||
/** Plays a sound asynchronously, starting at a specified point in the audio output device’s timeline.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*
|
||||
* @param time The time (device time) to start playing at.
|
||||
* @return YES if the playback was successfully scheduled.
|
||||
*/
|
||||
- (bool) playAtTime:(NSTimeInterval) time;
|
||||
|
||||
/** Plays the currently preloaded track asynchronously when the specified track completes.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*
|
||||
* @param track The track to play after
|
||||
* @return YES if the playback was successfully scheduled.
|
||||
*/
|
||||
- (bool) playAfterTrack:(OALAudioTrack*) track;
|
||||
|
||||
/** Plays the currently preloaded track asynchronously when the specified track completes.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*
|
||||
* @param track The track to play after
|
||||
* @param timeAdjust fine-tune value added to the time start offset.
|
||||
* @return YES if the playback was successfully scheduled.
|
||||
*/
|
||||
- (bool) playAfterTrack:(OALAudioTrack*) track timeAdjust:(NSTimeInterval) timeAdjust;
|
||||
|
||||
/** Stop playing and stop all operations.
|
||||
*/
|
||||
- (void) stop;
|
||||
|
||||
/** Fade to the specified gain value.
|
||||
*
|
||||
* @param gain The gain to fade to.
|
||||
* @param duration The duration of the fade operation in seconds.
|
||||
* @param target The target to notify when the fade completes (can be nil).
|
||||
* @param selector The selector to call when the fade completes. The selector must accept
|
||||
* a single parameter, which will be the object that performed the fade.
|
||||
*/
|
||||
- (void) fadeTo:(float) gain
|
||||
duration:(float) duration
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Stop the currently running fade operation, if any.
|
||||
*/
|
||||
- (void) stopFade;
|
||||
|
||||
/** Pan to the specified pan value.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*
|
||||
* @param pan The value to pan to.
|
||||
* @param duration The duration of the pan operation in seconds.
|
||||
* @param target The target to notify when the pan completes (can be nil).
|
||||
* @param selector The selector to call when the pan completes. The selector must accept
|
||||
* a single parameter, which will be the object that performed the pan.
|
||||
*/
|
||||
- (void) panTo:(float) pan
|
||||
duration:(float) duration
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Stop the currently running pan operation, if any.
|
||||
*
|
||||
* <strong>Note:</strong> This will have no effect on iOS versions prior to 4.0.
|
||||
*/
|
||||
- (void) stopPan;
|
||||
|
||||
/** Stop any internal fade or pan actions. */
|
||||
- (void) stopActions;
|
||||
|
||||
/** Unload and clear all audio data, stop playing, and stop all operations.
|
||||
*/
|
||||
- (void) clear;
|
||||
|
||||
#pragma mark Metering
|
||||
|
||||
/** If true, metering is enabled. */
|
||||
@property (nonatomic,readwrite,assign) bool meteringEnabled;
|
||||
|
||||
/** Updates the metering system to give current values.
|
||||
* You must call this method before calling averagePowerForChannel or peakPowerForChannel in
|
||||
* order to get current values.
|
||||
*/
|
||||
- (void) updateMeters;
|
||||
|
||||
/** Gives the average power for a given channel, in decibels, for the sound being played.
|
||||
* 0 dB indicates maximum power (full scale). <br>
|
||||
* -160 dB indicates minimum power (near silence). <br>
|
||||
* If the signal provided to the audio player exceeds full scale, then the value may be > 0. <br>
|
||||
*
|
||||
* <strong>Note:</strong> The value returned is in reference to when updateMeters was last called.
|
||||
* You must call updateMeters again before calling this method to get a current value.
|
||||
*
|
||||
* @param channelNumber The channel to get the value from. For mono or left, use 0. For right,
|
||||
* use 1.
|
||||
* @return the average power for the channel.
|
||||
*/
|
||||
- (float) averagePowerForChannel:(NSUInteger)channelNumber;
|
||||
|
||||
/** Gives the peak power for a given channel, in decibels, for the sound being played.
|
||||
* 0 dB indicates maximum power (full scale). <br>
|
||||
* -160 dB indicates minimum power (near silence). <br>
|
||||
* If the signal provided to the audio player exceeds full scale, then the value may be > 0. <br>
|
||||
*
|
||||
* <strong>Note:</strong> The value returned is in reference to when updateMeters was last called.
|
||||
* You must call updateMeters again before calling this method to get a current value.
|
||||
*
|
||||
* @param channelNumber The channel to get the value from. For mono or left, use 0. For right,
|
||||
* use 1.
|
||||
* @return the average power for the channel.
|
||||
*/
|
||||
- (float) peakPowerForChannel:(NSUInteger)channelNumber;
|
||||
|
||||
@end
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// OALAudioTrackNotifications.h
|
||||
//
|
||||
// Created by CJ Hanson on 10/16/10.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
extern NSString *const OALAudioTrackSourceChangedNotification;
|
||||
extern NSString *const OALAudioTrackStartedPlayingNotification;
|
||||
extern NSString *const OALAudioTrackStoppedPlayingNotification;
|
||||
extern NSString *const OALAudioTrackFinishedPlayingNotification;
|
||||
extern NSString *const OALAudioTrackLoopedNotification;
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
//
|
||||
// OALAudioTracks.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import "OALAudioTrack.h"
|
||||
#import "SynthesizeSingleton.h"
|
||||
#import "OALSuspendHandler.h"
|
||||
|
||||
|
||||
#pragma mark OALAudioTracks
|
||||
|
||||
/**
|
||||
* Keeps track of all AudioTrack objects.
|
||||
*/
|
||||
@interface OALAudioTracks : NSObject <OALSuspendManager>
|
||||
{
|
||||
/** All instantiated audio tracks. */
|
||||
NSMutableArray* tracks;
|
||||
bool muted;
|
||||
bool paused;
|
||||
|
||||
/** Timer to poll deviceCurrentTime so that it doesn't get reset on a device */
|
||||
NSTimer* deviceTimePoller;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
}
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** Pauses/unpauses all audio tracks. */
|
||||
@property(nonatomic,readwrite,assign) bool paused;
|
||||
|
||||
/** Mutes/unmutes all audio tracks. */
|
||||
@property(nonatomic,readwrite,assign) bool muted;
|
||||
|
||||
/** All instantiated audio tracks. */
|
||||
@property(nonatomic,readonly,retain) NSArray* tracks;
|
||||
|
||||
|
||||
#pragma mark Playback
|
||||
|
||||
/** Stop playback on all audio tracks.
|
||||
*/
|
||||
- (void) stopAllTracks;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Singleton implementation providing "sharedInstance" and "purgeSharedInstance" methods.
|
||||
*
|
||||
* <b>- (OALAudioTracks*) sharedInstance</b>: Get the shared singleton instance. <br>
|
||||
* <b>- (void) purgeSharedInstance</b>: Purge (deallocate) the shared instance.
|
||||
*/
|
||||
SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(OALAudioTracks);
|
||||
|
||||
|
||||
#pragma mark Internal Use
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Notify that a track is initializing.
|
||||
*/
|
||||
- (void) notifyTrackInitializing:(OALAudioTrack*) track;
|
||||
|
||||
/** (INTERNAL USE) Notify that a track is deallocating.
|
||||
*/
|
||||
- (void) notifyTrackDeallocating:(OALAudioTrack*) track;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// OALNotifications.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 11-01-03.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#define OALAudioErrorNotification @"OALAudioErrorNotification"
|
||||
+492
@@ -0,0 +1,492 @@
|
||||
//
|
||||
// OALSimpleAudio.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-01-14.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "SynthesizeSingleton.h"
|
||||
#import "ALDevice.h"
|
||||
#import "ALContext.h"
|
||||
#import "ALSoundSource.h"
|
||||
#import "ALChannelSource.h"
|
||||
#import "OALAudioTrack.h"
|
||||
|
||||
|
||||
#pragma mark OALSimpleAudio
|
||||
|
||||
/**
|
||||
* A simpler interface to the ObjectAL sound library. This singleton can be
|
||||
* used alone for simpler audio needs, or in conjunction with user-created
|
||||
* audio objects for more advanced needs (as is done in many of the demos).
|
||||
*
|
||||
* For sound effects, it initializes OpenAL with the default ALDevice,
|
||||
* an ALContext, and an ALChannelSource consisting of all 32 interruptible
|
||||
* ALSource objects (the maximum currently allowed for iOS).
|
||||
* If you want to create your own sources as well, change the reservedSources
|
||||
* property.
|
||||
*
|
||||
* For background audio, it creates a single OALAudioTrack, which will not reserve
|
||||
* resources unless used. (you can create more OALAudioTrack objects for your own
|
||||
* use if you want).
|
||||
*
|
||||
* This singleton also provides access to the more common configuration options
|
||||
* available in OALAudioSupport.
|
||||
*
|
||||
* All audio playback commands are delegated either to the ALChannelSource
|
||||
* (for sound effects), or to the OALAudioTrack (for BG music).
|
||||
*/
|
||||
@interface OALSimpleAudio : NSObject
|
||||
{
|
||||
/** The device we are using */
|
||||
ALDevice* device;
|
||||
/** The context we are using */
|
||||
ALContext* context;
|
||||
|
||||
/** The sound channel used by this object. */
|
||||
ALChannelSource* channel;
|
||||
/** Cache for preloaded sound samples. */
|
||||
NSMutableDictionary* preloadCache;
|
||||
#if NS_BLOCKS_AVAILABLE && OBJECTAL_CFG_USE_BLOCKS
|
||||
/** Queue for preloading and async operations that use blocks.
|
||||
* This ensures all operations are safe because they are guaranteed to run
|
||||
* in order.
|
||||
*/
|
||||
dispatch_queue_t oal_dispatch_queue;
|
||||
#endif
|
||||
/** keeping track of how many effects remain to be loaded */
|
||||
uint pendingLoadCount;
|
||||
|
||||
/** Audio track to play background music */
|
||||
OALAudioTrack* backgroundTrack;
|
||||
|
||||
bool muted;
|
||||
bool bgMuted;
|
||||
bool effectsMuted;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** If YES, allow ipod music to continue playing (NOT SUPPORTED ON THE SIMULATOR).
|
||||
* Note: If this is enabled, and another app is playing music, background audio
|
||||
* playback will use the SOFTWARE codecs, NOT hardware. <br>
|
||||
*
|
||||
* If allowIpod = NO, the application will ALWAYS use hardware decoding. <br>
|
||||
*
|
||||
* iOS Only. <br>
|
||||
*
|
||||
* @see useHardwareIfAvailable
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool allowIpod;
|
||||
|
||||
/** Determines what to do if no other application is playing audio and allowIpod = YES
|
||||
* (NOT SUPPORTED ON THE SIMULATOR). <br>
|
||||
*
|
||||
* If NO, the application will ALWAYS use software decoding. The advantage to this is that
|
||||
* the user can background your application and then start audio playing from another
|
||||
* application. If useHardwareIfAvailable = YES, the user won't be able to do this. <br>
|
||||
*
|
||||
* If this is set to YES, the application will use hardware decoding if no other application
|
||||
* is currently playing audio. However, no other application will be able to start playing
|
||||
* audio if it wasn't playing already. <br>
|
||||
*
|
||||
* Note: This switch has no effect if allowIpod = NO. <br>
|
||||
*
|
||||
* iOS Only. <br>
|
||||
*
|
||||
* @see allowIpod
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool useHardwareIfAvailable;
|
||||
|
||||
/** If true, mute when backgrounded, screen locked, or the ringer switch is
|
||||
* turned off (NOT SUPPORTED ON THE SIMULATOR). <br>
|
||||
*
|
||||
* iOS Only. <br>
|
||||
*
|
||||
* Default value: YES
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool honorSilentSwitch;
|
||||
|
||||
/** The number of sources OALSimpleAudio is using (max 32 on current iOS devices). */
|
||||
@property(nonatomic,readwrite,assign) int reservedSources;
|
||||
|
||||
@property(nonatomic,readonly,retain) ALDevice* device;
|
||||
|
||||
@property(nonatomic,readonly,retain) ALContext* context;
|
||||
|
||||
/** The channel source used by OALSimpleAudio.
|
||||
* Only mess with this if you know what you are doing!
|
||||
*/
|
||||
@property(nonatomic,readonly,retain) ALChannelSource* channel;
|
||||
|
||||
/** Background audio URL */
|
||||
@property(nonatomic,readonly,retain) NSURL* backgroundTrackURL;
|
||||
|
||||
/** Background audio track */
|
||||
@property(nonatomic,readonly,retain) OALAudioTrack* backgroundTrack;
|
||||
|
||||
/** Pauses BG music playback */
|
||||
@property(nonatomic,readwrite,assign) bool bgPaused;
|
||||
|
||||
/** Mutes BG music playback */
|
||||
@property(nonatomic,readwrite,assign) bool bgMuted;
|
||||
|
||||
/** If true, BG music is currently playing */
|
||||
@property(nonatomic,readonly,assign) bool bgPlaying;
|
||||
|
||||
/** Background music playback gain/volume (0.0 - 1.0) */
|
||||
@property(nonatomic,readwrite,assign) float bgVolume;
|
||||
|
||||
/** Pauses effects playback */
|
||||
@property(nonatomic,readwrite,assign) bool effectsPaused;
|
||||
|
||||
/** Mutes effects playback */
|
||||
@property(nonatomic,readwrite,assign) bool effectsMuted;
|
||||
|
||||
/** Master effects gain/volume (0.0 - 1.0) */
|
||||
@property(nonatomic,readwrite,assign) float effectsVolume;
|
||||
|
||||
/** Pauses everything */
|
||||
@property(nonatomic,readwrite,assign) bool paused;
|
||||
|
||||
/** Mutes all audio */
|
||||
@property(nonatomic,readwrite,assign) bool muted;
|
||||
|
||||
/** Enables/disables the preload cache.
|
||||
* If the preload cache is disabled, effects preloading will do nothing
|
||||
* (BG preloading will still work).
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool preloadCacheEnabled;
|
||||
|
||||
/** The number of items currently in the preload cache. */
|
||||
@property(nonatomic,readonly,assign) NSUInteger preloadCacheCount;
|
||||
|
||||
/** Set to YES to manually suspend the sound system. */
|
||||
@property(nonatomic,readwrite,assign) bool manuallySuspended;
|
||||
|
||||
/** If YES, the sound system is interrupted. iOS Only. */
|
||||
@property(nonatomic,readonly,assign) bool interrupted;
|
||||
|
||||
/** If YES, the sound system is suspended. */
|
||||
@property(nonatomic,readonly,assign) bool suspended;
|
||||
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Singleton implementation providing "sharedInstance" and "purgeSharedInstance" methods.
|
||||
*
|
||||
* <b>- (OALSimpleAudio*) sharedInstance</b>: Get the shared singleton instance. <br>
|
||||
* <b>- (void) purgeSharedInstance</b>: Purge (deallocate) the shared instance. <br>
|
||||
*/
|
||||
SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(OALSimpleAudio);
|
||||
|
||||
/** Start OALSimpleAudio with the specified number of reserved sources.
|
||||
* Call this initializer if you want to use OALSimpleAudio, but keep some of the device's
|
||||
* audio sources (there are 32 in total) for your own use. <br>
|
||||
* <strong>Note:</strong> This method must be called ONLY ONCE, <em>BEFORE</em>
|
||||
* any attempt is made to access the shared instance.
|
||||
* To change the reserved sources after instantiation, modify reservedSources.
|
||||
*
|
||||
* @param sources the number of sources OALSimpleAudio will reserve for itself.
|
||||
* @return The shared instance.
|
||||
*/
|
||||
+ (OALSimpleAudio*) sharedInstanceWithSources:(int) sources;
|
||||
|
||||
/** Start OALSimpleAudio with the specified parameters.
|
||||
*
|
||||
* With this initializer, you can set the total number of mono and stereo sources
|
||||
* available, as well as how many sources are to be reserved by OALSimpleAudio. <br>
|
||||
*
|
||||
* The number of mono and stereo sources represents the GLOBAL number of sources
|
||||
* available for EVERYONE, not just OALSimpleAudio. Their combined values must
|
||||
* not exceed 32 (the max allowed sources in iOS). <br>
|
||||
*
|
||||
* reservedSources is independent of this; it represents how many of the above
|
||||
* mentioned sources to reserve for OALSimpleAudio's use. <br>
|
||||
*
|
||||
* <strong>Note:</strong> This method must be called ONLY ONCE, <em>BEFORE</em>
|
||||
* any attempt is made to access the shared instance. <br>
|
||||
*
|
||||
* @param reservedSources The number of sources to reserve for OALSimpleAudio's
|
||||
* use when initializing.
|
||||
* iOS currently supports up to 32 sources total.
|
||||
* @param monoSources The GLOBAL number of sources supporting mono (default 28).
|
||||
* @param stereoSources The GLOBAL number of sources supporting stereo (default 4).
|
||||
*
|
||||
* @return The shared instance.
|
||||
*/
|
||||
+ (OALSimpleAudio*) sharedInstanceWithReservedSources:(int) reservedSources
|
||||
monoSources:(int) monoSources
|
||||
stereoSources:(int) stereoSources;
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Initialize with the specified number of reserved sources.
|
||||
*
|
||||
* @param reservedSources the number of sources to reserve when initializing.
|
||||
* @return The shared instance.
|
||||
*/
|
||||
- (id) initWithSources:(int) reservedSources;
|
||||
|
||||
/** (INTERNAL USE) Initialize with the specified parameters.
|
||||
*
|
||||
* @param reservedSources The number of sources to reserve for OALSimpleAudio's use when initializing.
|
||||
* @param monoSources The GLOBAL number of sources supporting mono (default 28).
|
||||
* @param stereoSources The GLOBAL number of sources supporting stereo (default 4).
|
||||
* @return The shared instance.
|
||||
*/
|
||||
- (id) initWithReservedSources:(int) reservedSources
|
||||
monoSources:(int) monoSources
|
||||
stereoSources:(int) stereoSources;
|
||||
/** \endcond */
|
||||
|
||||
|
||||
#pragma mark Background Music
|
||||
|
||||
/** Preload background music.
|
||||
*
|
||||
* <strong>Note:</strong> only <strong>ONE</strong> background music
|
||||
* file may be played or preloaded at a time via OALSimpleAudio.
|
||||
* If you play or preload another file, the one currently playing
|
||||
* will stop.
|
||||
*
|
||||
* @param path The path containing the background music.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadBg:(NSString*) path;
|
||||
|
||||
/** Preload background music.
|
||||
*
|
||||
* <strong>Note:</strong> only <strong>ONE</strong> background music
|
||||
* file may be played or preloaded at a time via OALSimpleAudio.
|
||||
* If you play or preload another file, the one currently playing
|
||||
* will stop.
|
||||
*
|
||||
* @param path The path containing the background music.
|
||||
* @param seekTime the position in the file to start playing at.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) preloadBg:(NSString*) path seekTime:(NSTimeInterval)seekTime;
|
||||
|
||||
/** Play whatever background music is preloaded.
|
||||
*
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playBg;
|
||||
|
||||
/** Play whatever background music is preloaded.
|
||||
*
|
||||
* @param loop If true, loop the bg track.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playBgWithLoop:(bool) loop;
|
||||
|
||||
/** Play the background music at the specified path.
|
||||
* If the music has not been preloaded, this method
|
||||
* will load the music and then play, incurring a slight delay. <br>
|
||||
*
|
||||
* <strong>Note:</strong> only <strong>ONE</strong> background music
|
||||
* file may be played or preloaded at a time via OALSimpleAudio.
|
||||
* If you play or preload another file, the one currently playing
|
||||
* will stop.
|
||||
*
|
||||
* @param path The path containing the background music.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playBg:(NSString*) path;
|
||||
|
||||
/** Play the background music at the specified path.
|
||||
* If the music has not been preloaded, this method
|
||||
* will load the music and then play, incurring a slight delay. <br>
|
||||
*
|
||||
* <strong>Note:</strong> only <strong>ONE</strong> background music
|
||||
* file may be played or preloaded at a time via OALSimpleAudio.
|
||||
* If you play or preload another file, the one currently playing
|
||||
* will stop.
|
||||
*
|
||||
* @param path The path containing the background music.
|
||||
* @param loop If true, loop the bg track.
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playBg:(NSString*) path loop:(bool) loop;
|
||||
|
||||
/** Play the background music at the specified path.
|
||||
* If the music has not been preloaded, this method
|
||||
* will load the music and then play, incurring a slight delay. <br>
|
||||
*
|
||||
* <strong>Note:</strong> only <strong>ONE</strong> background music
|
||||
* file may be played or preloaded at a time via OALSimpleAudio.
|
||||
* If you play or preload another file, the one currently playing
|
||||
* will stop. To play multiple audio tracks, create an OALAudioTrack. <br>
|
||||
*
|
||||
* <strong>Note:</strong> pan will have no effect when running on iOS
|
||||
* versions prior to 4.0.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
* @param volume The volume (gain) to play at (0.0 - 1.0).
|
||||
* @param pan Left-right panning (-1.0 = far left, 1.0 = far right) (Only on iOS 4.0+).
|
||||
* @param loop If TRUE, the sound will loop until you call "stopBg".
|
||||
* @return TRUE if the operation was successful.
|
||||
*/
|
||||
- (bool) playBg:(NSString*) filePath
|
||||
volume:(float) volume
|
||||
pan:(float) pan
|
||||
loop:(bool) loop;
|
||||
|
||||
/** Stop the background music playback and rewind.
|
||||
*/
|
||||
- (void) stopBg;
|
||||
|
||||
|
||||
#pragma mark Sound Effects
|
||||
|
||||
/** Preload and cache a sound effect for later playback.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
*/
|
||||
- (ALBuffer*) preloadEffect:(NSString*) filePath;
|
||||
|
||||
/** Preload and cache a sound effect for later playback.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
*/
|
||||
- (ALBuffer*) preloadEffect:(NSString*) filePath reduceToMono:(bool) reduceToMono;
|
||||
|
||||
#if NS_BLOCKS_AVAILABLE && OBJECTAL_CFG_USE_BLOCKS
|
||||
|
||||
/** Asynchronous preload and cache sound effect for later playback.
|
||||
*
|
||||
* @param filePath an NSString with the path containing the sound data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @param completionBlock Executed when loading is complete.
|
||||
*/
|
||||
- (BOOL) preloadEffect:(NSString*) filePath
|
||||
reduceToMono:(bool) reduceToMono
|
||||
completionBlock:(void(^)(ALBuffer *)) completionBlock;
|
||||
|
||||
/** Asynchronous preload and cache multiple sound effects for later playback.
|
||||
*
|
||||
* @param filePaths An NSArray of NSStrings with the paths containing the sound data.
|
||||
* @param reduceToMono If true, reduce the samples to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @param progressBlock Executed regularly while file loading is in progress.
|
||||
*/
|
||||
- (void) preloadEffects:(NSArray*) filePaths
|
||||
reduceToMono:(bool) reduceToMono
|
||||
progressBlock:(void (^)(NSUInteger progress, NSUInteger successCount, NSUInteger total)) progressBlock;
|
||||
|
||||
#endif
|
||||
|
||||
/** Unload a preloaded effect. Only unloads if no source is currently playing
|
||||
* that effect (or paused with the effect loaded).
|
||||
*
|
||||
* @param filePath The path containing the sound data that was previously loaded.
|
||||
*
|
||||
* @return YES if the effect was unloaded. Turn on debug logging to see why an
|
||||
* effect was not unloaded.
|
||||
*/
|
||||
- (bool) unloadEffect:(NSString*) filePath;
|
||||
|
||||
/** Unload all preloaded effects that are not currently being played (paused or not).
|
||||
* Turning on debug logging will show which effects were not unloaded.
|
||||
* It is useful to put a call to this method in
|
||||
* "applicationDidReceiveMemoryWarning" in your app delegate.
|
||||
*/
|
||||
- (void) unloadAllEffects;
|
||||
|
||||
/** Play a sound effect with volume 1.0, pitch 1.0, pan 0.0, loop NO. The sound will be loaded
|
||||
* and cached if it wasn't already.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
* @return The sound source being used for playback, or nil if an error occurred.
|
||||
*/
|
||||
- (id<ALSoundSource>) playEffect:(NSString*) filePath;
|
||||
|
||||
/** Play a sound effect with volume 1.0, pitch 1.0, pan 0.0. The sound will be loaded and cached
|
||||
* if it wasn't already.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
* @param loop If TRUE, the sound will loop until you call "stop" on the returned sound source.
|
||||
* @return The sound source being used for playback, or nil if an error occurred.
|
||||
*/
|
||||
- (id<ALSoundSource>) playEffect:(NSString*) filePath loop:(bool) loop;
|
||||
|
||||
/** Play a sound effect. The sound will be loaded and cached if it wasn't already.
|
||||
*
|
||||
* @param filePath The path containing the sound data.
|
||||
* @param volume The volume (gain) to play at (0.0 - 1.0).
|
||||
* @param pitch The pitch to play at (1.0 = normal pitch).
|
||||
* @param pan Left-right panning (-1.0 = far left, 1.0 = far right).
|
||||
* @param loop If TRUE, the sound will loop until you call "stop" on the returned sound source.
|
||||
* @return The sound source being used for playback, or nil if an error occurred (You'll need to
|
||||
* keep this if you want to be able to stop a looped playback).
|
||||
*/
|
||||
- (id<ALSoundSource>) playEffect:(NSString*) filePath
|
||||
volume:(float) volume
|
||||
pitch:(float) pitch
|
||||
pan:(float) pan
|
||||
loop:(bool) loop;
|
||||
|
||||
/** Play a sound effect from a user-supplied buffer.
|
||||
*
|
||||
* @param buffer The buffer containing the sound data.
|
||||
* @param volume The volume (gain) to play at (0.0 - 1.0).
|
||||
* @param pitch The pitch to play at (1.0 = normal pitch).
|
||||
* @param pan Left-right panning (-1.0 = far left, 1.0 = far right).
|
||||
* @param loop If TRUE, the sound will loop until you call "stop" on the returned sound source.
|
||||
* @return The sound source being used for playback, or nil if an error occurred (You'll need to
|
||||
* keep this if you want to be able to stop a looped playback).
|
||||
*/
|
||||
- (id<ALSoundSource>) playBuffer:(ALBuffer*) buffer
|
||||
volume:(float) volume
|
||||
pitch:(float) pitch
|
||||
pan:(float) pan
|
||||
loop:(bool) loop;
|
||||
|
||||
/** Stop ALL sound effect playback.
|
||||
*/
|
||||
- (void) stopAllEffects;
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Stop all effects and bg music.
|
||||
*/
|
||||
- (void) stopEverything;
|
||||
|
||||
/** Reset everything in this object to its default state.
|
||||
*/
|
||||
- (void) resetToDefault;
|
||||
|
||||
@end
|
||||
+165
@@ -0,0 +1,165 @@
|
||||
//
|
||||
// OALSuspendHandler.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-12-19.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* Allows an object to participate in interrupt and suspend operations.
|
||||
* Objects may hook into OALAudioSession's interrupt and suspend model by
|
||||
* calling [[OALAudioSession sharedInstance] addSuspendListener:self].
|
||||
*
|
||||
* Note: You must NOT set the "interrupted" property manually. It is designed
|
||||
* to be set automatically by system interrupts.
|
||||
*
|
||||
* @see OALAudioSession
|
||||
*/
|
||||
@protocol OALSuspendListener
|
||||
|
||||
/** Set to YES to manually suspend.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool manuallySuspended;
|
||||
|
||||
/** If YES, this object is interrupted.
|
||||
* Note: This property must NOT be set by the user!
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) bool interrupted;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* A suspend manager is a listener that also allows other objects
|
||||
* to subscribe to receive events as the manager receives them.
|
||||
*/
|
||||
@protocol OALSuspendManager <OALSuspendListener>
|
||||
|
||||
/** If YES, this object is suspended.
|
||||
*/
|
||||
@property(nonatomic,readonly,assign) bool suspended;
|
||||
|
||||
/** Add a listener that will receive manual suspend and interrupt events.
|
||||
*
|
||||
* @param listener The listener to register with this handler.
|
||||
*/
|
||||
- (void) addSuspendListener:(id<OALSuspendListener>) listener;
|
||||
|
||||
/** Remove a registered listener.
|
||||
*
|
||||
* @param listener The listener to unregister from this handler.
|
||||
*/
|
||||
- (void) removeSuspendListener:(id<OALSuspendListener>) listener;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* Provides two controls (interrupted and manuallySuspended) for suspending
|
||||
* a slave object, and also propagates such control messages to interested
|
||||
* listeners.
|
||||
*
|
||||
* "interrupted" is meant to be set by the system when an interrupt occurs. <br>
|
||||
*
|
||||
* "manuallySuspended" is a user-settable control for suspending an object. <br>
|
||||
* "manuallySuspended" also has an extra step in its processing: When set,
|
||||
* the handler makes a note of what its listeners' "manuallySuspended" values are.
|
||||
* When cleared, it will only clear a listener's "manuallySuspended" value if it
|
||||
* was not set at suspend time. This allows for ad-hoc setting/clearing of
|
||||
* "manuallySuspended" in the middle of a handler/listener graph rather than
|
||||
* only from the top level. <br>
|
||||
*
|
||||
* When either control is set, the slave object will be suspended. When both are
|
||||
* cleared, the slave object will be unsuspended. <br>
|
||||
*/
|
||||
@interface OALSuspendHandler: NSObject
|
||||
{
|
||||
/** Listeners that will receive manualSuspend and interrupt events. */
|
||||
NSMutableArray* listeners;
|
||||
|
||||
/** Holder for the state of manualSuspend in listeners when this object is
|
||||
* manually suspended.
|
||||
*/
|
||||
NSMutableArray* manualSuspendStates;
|
||||
|
||||
/** Selector to be invoked on suspend or unsuspend.
|
||||
* Takes the signature: setSelected:(bool) value
|
||||
*/
|
||||
SEL suspendStatusChangeSelector;
|
||||
|
||||
/** Holds the current "manually suspended" state. */
|
||||
bool manualSuspendLock;
|
||||
|
||||
/** Holds the current "interrupted" state. */
|
||||
bool interruptLock;
|
||||
}
|
||||
|
||||
/** Create a new handler with the specified slave target and selector.
|
||||
*
|
||||
* The selector provided must take a single boolean value like so: <br>
|
||||
* - (void) setSuspended:(bool) value <br>
|
||||
*
|
||||
* @param target The slave object that will receive suspend/unsuspend events.
|
||||
* @param selector The selector for a "set suspended" method, taking a single
|
||||
* boolean parameter.
|
||||
*/
|
||||
+ (OALSuspendHandler*) handlerWithTarget:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Initialize a handler with the specified slave target and selector.
|
||||
*
|
||||
* The selector provided must take a single boolean value like so: <br>
|
||||
* - (void) setSuspended:(bool) value <br>
|
||||
*
|
||||
* @param target The slave object that will receive suspend/unsuspend events.
|
||||
* @param selector The selector for a "set suspended" method, taking a single
|
||||
* boolean parameter.
|
||||
*/
|
||||
- (id) initWithTarget:(id) target selector:(SEL) selector;
|
||||
|
||||
|
||||
/** If YES, the manual suspend control is set. */
|
||||
@property(nonatomic,readwrite,assign) bool manuallySuspended;
|
||||
|
||||
/** If YES, the interrupt control is set. */
|
||||
@property(nonatomic,readwrite,assign) bool interrupted;
|
||||
|
||||
/** If YES, the slave object is suspended. */
|
||||
@property(nonatomic,readonly,assign) bool suspended;
|
||||
|
||||
/** Add a listener that will receive manual suspend and interrupt events.
|
||||
*
|
||||
* @param listener The listener to register with this handler.
|
||||
*/
|
||||
- (void) addSuspendListener:(id<OALSuspendListener>) listener;
|
||||
|
||||
/** Remove a registered listener.
|
||||
*
|
||||
* @param listener The listener to unregister from this handler.
|
||||
*/
|
||||
- (void) removeSuspendListener:(id<OALSuspendListener>) listener;
|
||||
|
||||
@end
|
||||
+97
@@ -0,0 +1,97 @@
|
||||
//
|
||||
// OALTools.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-12-19.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
/**
|
||||
* Miscellaneous tools used by ObjectAL.
|
||||
*/
|
||||
@interface OALTools : NSObject
|
||||
{
|
||||
}
|
||||
|
||||
/** Set the default bundle to use when looking up paths.
|
||||
*
|
||||
* @param bundle The new default bundle.
|
||||
*/
|
||||
+ (void) setDefaultBundle:(NSBundle*) bundle;
|
||||
|
||||
/** The default bundle used when looking up paths.
|
||||
*
|
||||
* return The default bundle.
|
||||
*/
|
||||
+ (NSBundle*) defaultBundle;
|
||||
|
||||
/** Returns the URL corresponding to the specified path.
|
||||
* If the path is not absolute (starts with a "/"), this method will look for
|
||||
* the file in the default bundle.
|
||||
*
|
||||
* @param path The path to convert to a URL.
|
||||
* @return The corresponding URL or nil if a URL could not be formed.
|
||||
*/
|
||||
+ (NSURL*) urlForPath:(NSString*) path;
|
||||
|
||||
/** Returns the URL corresponding to the specified path.
|
||||
* If the path is not absolute (starts with a "/"), this method will look for
|
||||
* the file in the specified bundle.
|
||||
*
|
||||
* @param path The path to convert to a URL.
|
||||
* @param bundle The bundle to look inside for relative paths.
|
||||
* @return The corresponding URL or nil if a URL could not be formed.
|
||||
*/
|
||||
+ (NSURL*) urlForPath:(NSString*) path bundle:(NSBundle*) bundle;
|
||||
|
||||
/** Notify an error if the specified ExtAudio error code indicates an error.
|
||||
* This will log the error and also potentially post an audio error notification
|
||||
* (OALAudioErrorNotification) if it is suspected that this error is a result of
|
||||
* the audio session getting corrupted.
|
||||
*
|
||||
* @param errorCode: The error code returned from an OS call.
|
||||
* @param function: The function name where the error occurred.
|
||||
* @param description: A printf-style description of what happened.
|
||||
*/
|
||||
+ (void) notifyExtAudioError:(OSStatus)errorCode
|
||||
function:(const char*) function
|
||||
description:(NSString*) description, ...;
|
||||
|
||||
/** Notify an error if the specified AudioSession error code indicates an error.
|
||||
* This will log the error and also potentially post an audio error notification
|
||||
* (OALAudioErrorNotification) if it is suspected that this error is a result of
|
||||
* the audio session getting corrupted.
|
||||
*
|
||||
* @param errorCode: The error code returned from an OS call.
|
||||
* @param function: The function name where the error occurred.
|
||||
* @param description: A printf-style description of what happened.
|
||||
*/
|
||||
+ (void) notifyAudioSessionError:(OSStatus)errorCode
|
||||
function:(const char*) function
|
||||
description:(NSString*) description, ...;
|
||||
|
||||
@end
|
||||
+268
@@ -0,0 +1,268 @@
|
||||
//
|
||||
// OALUtilityActions.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-10-10.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import "OALAction.h"
|
||||
|
||||
|
||||
#pragma mark OALTargetedAction
|
||||
|
||||
/**
|
||||
* Ignores whatever target it was invoked upon and applies the specified action
|
||||
* on the target specified at creation time.
|
||||
*/
|
||||
@interface OALTargetedAction: OALAction
|
||||
{
|
||||
/** The action that will be run on the target. */
|
||||
OALAction* action_;
|
||||
}
|
||||
|
||||
/** The target which this action will actually be invoked upon. */
|
||||
@property(nonatomic,readwrite,assign) id forcedTarget;
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param target The target to run the action upon.
|
||||
* @param action The action to run.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithTarget:(id) target action:(OALAction*) action;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param target The target to run the action upon.
|
||||
* @param action The action to run.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithTarget:(id) target action:(OALAction*) action;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#if !OBJECTAL_CFG_USE_COCOS2D_ACTIONS
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALSequentialActions
|
||||
|
||||
/**
|
||||
* A set of actions that get run in sequence.
|
||||
*/
|
||||
@interface OALSequentialActions: OALAction
|
||||
{
|
||||
/** The index of the action currently being processed. */
|
||||
NSUInteger actionIndex_;
|
||||
|
||||
/** The last completeness proportion value acted upon. */
|
||||
float pLastComplete_;
|
||||
|
||||
/** The proportional duration of the current action. */
|
||||
float pCurrentActionDuration_;
|
||||
|
||||
/** The proportional completeness of the current action. */
|
||||
float pCurrentActionComplete_;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The actions which will be run. */
|
||||
@property(nonatomic,readwrite,retain) NSMutableArray* actions;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param actions The comma separated list of actions.
|
||||
* @param NS_REQUIRES_NIL_TERMINATION List of actions must be terminated by a nil.
|
||||
* @return A new set of sequential actions.
|
||||
*/
|
||||
+ (id) actions:(OALAction*) actions, ... NS_REQUIRES_NIL_TERMINATION;
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param actions The actions to run.
|
||||
* @return A new set of sequential actions.
|
||||
*/
|
||||
+ (id) actionsFromArray:(NSArray*) actions;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param actions The actions to run.
|
||||
* @return The initialized set of sequential actions.
|
||||
*/
|
||||
- (id) initWithActions:(NSArray*) actions;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALConcurrentActions
|
||||
|
||||
/**
|
||||
* A set of actions that get run concurrently.
|
||||
*/
|
||||
@interface OALConcurrentActions: OALAction
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** The actions which will be run. */
|
||||
@property(nonatomic,readwrite,retain) NSMutableArray* actions;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param actions The comma separated list of actions.
|
||||
* @param NS_REQUIRES_NIL_TERMINATION List of actions must be terminated by a nil.
|
||||
* @return A new set of concurrent actions.
|
||||
*/
|
||||
+ (id) actions:(OALAction*) actions, ... NS_REQUIRES_NIL_TERMINATION;
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param actions The actions to run.
|
||||
* @return A new set of concurrent actions.
|
||||
*/
|
||||
+ (id) actionsFromArray:(NSArray*) actions;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param actions The actions to run.
|
||||
* @return The initialized set of concurrent actions.
|
||||
*/
|
||||
- (id) initWithActions:(NSArray*) actions;
|
||||
|
||||
@end
|
||||
|
||||
#else /* !OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
|
||||
COCOS2D_SUBCLASS_HEADER(OALSequentialActions,CCSequence);
|
||||
|
||||
|
||||
COCOS2D_SUBCLASS_HEADER(OALConcurrentActions,CCSpawn);
|
||||
|
||||
#endif /* !OBJECTAL_CFG_USE_COCOS2D_ACTIONS */
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark OALCallAction
|
||||
|
||||
/**
|
||||
* Calls a selector on a target.
|
||||
* This action will ignore whatever target it is run against,
|
||||
* and will invoke the selector on the target specified at creation
|
||||
* time.
|
||||
*/
|
||||
@interface OALCallAction: OALAction
|
||||
{
|
||||
/** The target to call the selector on. */
|
||||
id callTarget_;
|
||||
|
||||
/** The selector to invoke */
|
||||
SEL selector_;
|
||||
|
||||
/** The number of parameters which will be passed to the selector. */
|
||||
int numObjects_;
|
||||
|
||||
/** The first object to pass to the selector, if any. */
|
||||
id object1_;
|
||||
|
||||
/** The second object to pass to the selector, if any. */
|
||||
id object2_;
|
||||
}
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @param object The object to pass to the selector.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector
|
||||
withObject:(id) object;
|
||||
|
||||
/** Create an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @param firstObject The first object to pass to the selector.
|
||||
* @param secondObject The second object to pass to the selector.
|
||||
* @return A new action.
|
||||
*/
|
||||
+ (id) actionWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector
|
||||
withObject:(id) firstObject
|
||||
withObject:(id) secondObject;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @param object The object to pass to the selector.
|
||||
* @return Initialize an action.
|
||||
*/
|
||||
- (id) initWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector
|
||||
withObject:(id) object;
|
||||
|
||||
/** Initialize an action.
|
||||
*
|
||||
* @param callTarget The target to call.
|
||||
* @param selector The selector to invoke.
|
||||
* @param firstObject The first object to pass to the selector.
|
||||
* @param secondObject The second object to pass to the selector.
|
||||
* @return The initialized action.
|
||||
*/
|
||||
- (id) initWithCallTarget:(id) callTarget
|
||||
selector:(SEL) selector
|
||||
withObject:(id) firstObject
|
||||
withObject:(id) secondObject;
|
||||
|
||||
@end
|
||||
+724
@@ -0,0 +1,724 @@
|
||||
//
|
||||
// ObjectAL.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 15/12/09.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
// Actions
|
||||
#import "OALAction.h"
|
||||
#import "OALAudioActions.h"
|
||||
#import "OALUtilityActions.h"
|
||||
#import "OALActionManager.h"
|
||||
|
||||
// AudioTrack
|
||||
#import "OALAudioTrack.h"
|
||||
#import "OALAudioTracks.h"
|
||||
#import "OALAudioTrackNotifications.h"
|
||||
|
||||
// OpenAL
|
||||
#import "ALTypes.h"
|
||||
#import "ALBuffer.h"
|
||||
#import "ALCaptureDevice.h"
|
||||
#import "ALContext.h"
|
||||
#import "ALDevice.h"
|
||||
#import "ALListener.h"
|
||||
#import "ALSource.h"
|
||||
//#import "ALWrapper.h"
|
||||
#import "ALChannelSource.h"
|
||||
#import "ALSoundSourcePool.h"
|
||||
#import "OpenALManager.h"
|
||||
#import "OALAudioFile.h"
|
||||
|
||||
// Other
|
||||
//#import "OALNotifications.h"
|
||||
#import "OALAudioSession.h"
|
||||
#import "OALSimpleAudio.h"
|
||||
|
||||
|
||||
|
||||
/** \mainpage ObjectAL for iPhone
|
||||
|
||||
<strong>iOS Audio development, minus the headache.</strong> <br><br>
|
||||
|
||||
Version 2.2 <br> <br>
|
||||
|
||||
Copyright 2009-2013 Karl Stenerud <br><br>
|
||||
|
||||
Released under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License v2.0</a>
|
||||
|
||||
<br> <br>
|
||||
\section contents_sec Contents
|
||||
- \ref intro_sec
|
||||
- \ref objectal_and_openal_sec
|
||||
- \ref add_objectal_sec (also, installing the documentation into XCode)
|
||||
- \ref configuration_sec
|
||||
- \ref audio_formats_sec
|
||||
- \ref choosing_sec
|
||||
- \ref use_iossimpleaudio_sec
|
||||
- \ref use_objectal_sec
|
||||
- \ref other_examples_sec
|
||||
- \ref ios_issues_sec
|
||||
- \ref simulator_issues_sec
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section intro_sec Introduction
|
||||
|
||||
<strong>ObjectAL for iPhone</strong> is designed to be a simpler, more intuitive interface to
|
||||
OpenAL and AVAudioPlayer.
|
||||
There are four main parts to <strong>ObjectAL for iPhone</strong>:<br/><br/>
|
||||
|
||||
\image html ObjectAL-Overview1.png
|
||||
\image latex ObjectAL-Overview1.eps
|
||||
|
||||
- <a class="el" href="index.html#objectal_and_openal_sec">ObjectAL</a>
|
||||
gives you full access to the OpenAL system without the hassle of the C API.
|
||||
All OpenAL operations can be performed using first class objects and properties, without needing
|
||||
to muddle around with arrays of data, maintain IDs, or pass around pointers to basic types.
|
||||
ObjectALManager also provides sound loading routines.
|
||||
|
||||
- OALAudioTrack provides a simpler interface to AVAudioPlayer, allowing you to play, stop,
|
||||
pause, fade, and mute background music tracks.
|
||||
|
||||
- OALAudioSession handles audio session management in iOS devices, and provides an easy
|
||||
way to configure session behavior such as how to handle iPod-style music and the silent
|
||||
switch.
|
||||
|
||||
- OALSimpleAudio layers on top of the other three, providing an even simpler interface for
|
||||
playing background music and sound effects.
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section objectal_and_openal_sec ObjectAL and OpenAL
|
||||
|
||||
<strong>ObjectAL</strong> follows the same basic principles as the
|
||||
<a href="http://connect.creativelabs.com/openal">OpenAL API by Creative Labs</a>.
|
||||
|
||||
\image html ObjectAL-Overview2.png
|
||||
\image latex ObjectAL-Overview2.eps
|
||||
|
||||
- OpenALManager provides some overall controls that affect everything, manages the current
|
||||
context, and provides audio loading routines.
|
||||
|
||||
- ALDevice represents a physical audio device. <br>
|
||||
Each device can have one or more contexts (ALContext) created on it, and can have multiple
|
||||
buffers (ALBuffer) associated with it.
|
||||
|
||||
- ALContext controls the overall sound environment, such as distance model, doppler effect, and
|
||||
speed of sound. <br>
|
||||
Each context has one listener (ALListener), and can have multiple sources (ALSource) opened on
|
||||
it (up to a maximum of 32 overall on iPhone).
|
||||
|
||||
- ALListener represents the listener of sounds originating on its context (one listener per
|
||||
context). It has position, orientation, and velocity.
|
||||
|
||||
- ALSource is a sound emitting source that plays sound data from an ALBuffer. It has position,
|
||||
direction, velocity, as well as other properties which determine how the sound is emitted.
|
||||
|
||||
- ALChannelSource allows you to reserve a certain number of sources for special purposes.
|
||||
|
||||
- ALBuffer is simply a container for sound data. Only linear PCM is supported directly, but
|
||||
OpenALManager load methods, and OALSimpleAudio effect preload and play methods, will
|
||||
automatically convert any formats that don't require hardware decoding (though conversion
|
||||
results in a longer loading time).
|
||||
|
||||
<strong>Note:</strong> While OpenAL allows for multiple devices and contexts, in practice
|
||||
you'll only use one device and one context when using OpenAL under iOS.
|
||||
|
||||
Further information regarding the more advanced features of OpenAL (such as distance models)
|
||||
are available via the
|
||||
<a href="http://connect.creativelabs.com/openal/Documentation/Forms/AllItems.aspx">
|
||||
OpenAL Documentation at Creative Labs</a>. <br>
|
||||
In particular, read up on the various property values for sources and listeners (such as Doppler
|
||||
Shift) in the
|
||||
<a href="http://connect.creativelabs.com/openal/Documentation/OpenAL_Programmers_Guide.pdf">OpenAL Programmer's Guide</a>,
|
||||
and distance models in section 3 of the
|
||||
<a href="http://connect.creativelabs.com/openal/Documentation/OpenAL%201.1%20Specification.pdf">OpenAL Specification</a>.
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section add_objectal_sec Adding ObjectAL to your project
|
||||
|
||||
To add ObjectAL to your project, do the following:
|
||||
|
||||
<ol>
|
||||
<li>Copy ObjectAL/ObjectAL from this project into your project.
|
||||
You can simply drag it into the "Groups & Files" section in xcode if you
|
||||
like (be sure to select "Copy items into destination group's folder"). <br/>
|
||||
Alternatively, you can build ObjectAL as a static library (as it's configured to do in the
|
||||
ObjectAL demo project).<br/><br/>
|
||||
</li>
|
||||
|
||||
<li>Add the following frameworks to your project:
|
||||
<ul>
|
||||
<li>OpenAL.framework</li>
|
||||
<li>AudioToolbox.framework</li>
|
||||
<li>AVFoundation.framework</li>
|
||||
</ul><br/>
|
||||
</li>
|
||||
|
||||
<li>Start using ObjectAL!<br/><br/></li>
|
||||
</ol>
|
||||
<br/>
|
||||
<strong>Note:</strong> The demos in this project use
|
||||
<a href="http://www.cocos2d-iphone.org">Cocos2d</a>, a very nice 2d game engine. However,
|
||||
ObjectAL doesn't require it. You can just as easily use ObjectAL in your Cocoa app or anything
|
||||
you wish.
|
||||
<br/> <br/>
|
||||
<strong>Note #2:</strong> You do NOT have to provide a link to the Apache license from within your
|
||||
application. Simply including a copy of the license in your project is sufficient.
|
||||
|
||||
<br>
|
||||
\subsection install_dox Installing the ObjectAL Documentation into XCode
|
||||
|
||||
By installing the ObjectAL documentation into XCode's Developer Documentation system, you gain
|
||||
the ability to look up ObjectAL classes and methods just like you'd look up Apple classes and
|
||||
methods. You can install the ObjectAL documentation into XCode's Developer Documentation
|
||||
system by doing the following:
|
||||
-# Install <a href="http://www.doxygen.org">Doxygen</a>. You can either use the OSX installer or
|
||||
<a href="http://mxcl.github.io/homebrew/">Homebrew</a>.
|
||||
-# Build the "Documentation" target in this project.
|
||||
-# Open the developer documentation and type "ObjectAL" into the search box.
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section configuration_sec Compile-Time Configuration
|
||||
|
||||
<strong>ObjectALConfig.h</strong> contains configuration defines that will affect at a high level
|
||||
how ObjectAL behaves. Look inside <strong>ObjectALConfig.h</strong> to see what can be
|
||||
configured, and what each configuration value does. <br>
|
||||
The recommended values are fine for most users, but Cocos2D users may want to set
|
||||
OBJECTAL_CFG_USE_COCOS2D_ACTIONS so that the audio actions (such as fade) use the Cocos2D action manager.
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section audio_formats_sec Audio Formats
|
||||
|
||||
The audio formats officially supported by Apple are
|
||||
<a href="http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html">
|
||||
defined here</a>.
|
||||
<br><br>
|
||||
|
||||
\subsection audio_formats_avaudioplayer OALAudioTrack Supported Formats
|
||||
|
||||
OALAudioTrack supports all hardware and software decoded formats.
|
||||
<br><br>
|
||||
|
||||
\subsection audio_formats_openal OpenAL Supported Formats
|
||||
|
||||
OpenAL officially supports 8 or 16 bit PCM data only. However, Apple's implementation
|
||||
only seems to work with 16 bit data. <br>
|
||||
|
||||
The effects preloading/playing methods in OALSimpleAudio and the buffer loading methods
|
||||
in OpenALManager can load any audio file that can be software decoded. However, there
|
||||
is a cost incurred at load time converting to a native OpenAL format. To avoid this,
|
||||
convert all of your samples to a CAFF container with 16-bit little endian integer PCM
|
||||
format and the same sample rate as "mixerOutputFrequency" in OpenALManager
|
||||
(by default, 44100Hz). Note, however, that uncompressed files can get quite large.<br>
|
||||
|
||||
Convert to iOS native uncompressed format using Apple's "afconvert" command line tool:
|
||||
|
||||
\code afconvert -f caff -d LEI16@44100 sourcefile.wav destfile.caf \endcode
|
||||
|
||||
Alternatively, if sound file load time is not an issue for you, you can lower your app
|
||||
footprint size (for over-the-air app download) by using a compressed format. <br>
|
||||
|
||||
Convert to AAC compressed format with CAFF container using Apple's "afconvert" command
|
||||
line tool:
|
||||
|
||||
\code afconvert -f caff -d aac sourcefile.wav destfile.caf \endcode
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section choosing_sec Choosing Playback Types
|
||||
|
||||
<strong>OpenAL</strong> (ALSource, or effects in OALSimpleAudio) and
|
||||
<strong>AVAudioPlayer</strong> (OALAudioTrack, or background audio in OALSimpleAudio)
|
||||
are playback technologies built for different purposes. OpenAL is designed for game-style
|
||||
short sound effects that have no playback delay. AVAudioPlayer is designed for music
|
||||
playback. You can of course mix and match as you please.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><strong>OpenAL</strong></td>
|
||||
<td><strong>AVAudioPlayer</strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Playback Delay</strong></td>
|
||||
<td>None</td>
|
||||
<td>Small delay if not preloaded</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Format on Disk</strong></td>
|
||||
<td><a href="http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html">
|
||||
Any software decodable format</a></td>
|
||||
<td><a href="http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html">
|
||||
Any software decodable format, or any hardware format if using hardware</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Decoding</strong></td>
|
||||
<td>During load</td>
|
||||
<td>During playback</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Memory Use</strong></td>
|
||||
<td>Entire file loaded and decompressed into memory</td>
|
||||
<td>File streamed realtime (very low memory use)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Max Simult. Sources</strong></td>
|
||||
<td>32</td>
|
||||
<td>As many as the CPU can handle</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Playback Performance</strong></td>
|
||||
<td>Good</td>
|
||||
<td>Excellent with 1 track (if using hardware). Good with 2 tracks. Not so good with more
|
||||
(each non-hardware track taxes the CPU significantly, especially if the files are compressed).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Looped Playback</strong></td>
|
||||
<td>Yes (on or off)</td>
|
||||
<td>Yes (specify number of loops or -1 = forever)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Panning</strong></td>
|
||||
<td>Yes (mono files only)</td>
|
||||
<td>Yes (iOS 4.0+ only)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Positional Audio</strong></td>
|
||||
<td>Yes (mono files only)</td>
|
||||
<td>No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Modify Pitch</strong></td>
|
||||
<td>Yes</td>
|
||||
<td>No</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>Audio Power Metering</strong></td>
|
||||
<td>No</td>
|
||||
<td>Yes</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section use_iossimpleaudio_sec Using OALSimpleAudio
|
||||
|
||||
By far, the easiest component to use is OALSimpleAudio. You sacrifice some power for
|
||||
ease-of-use, but for many projects it is more than sufficient. You can also use your own instances
|
||||
of OALAudioTrack, ALSource, ALBuffer and such alongside of OALSimpleAudio if you want (just be sure
|
||||
to set OALSimpleAudio's reservedSources to less than 32 if you want to make your own instances of
|
||||
ALSource).
|
||||
|
||||
Here is a code example using purely OALSimpleAudio:
|
||||
|
||||
\code
|
||||
// OALSimpleAudioSample.h
|
||||
|
||||
@interface OALSimpleAudioSample : NSObject
|
||||
{
|
||||
// No objects to keep track of...
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
// OALSimpleAudioSample.m
|
||||
|
||||
#import "OALSimpleAudioSample.h"
|
||||
#import "ObjectAL.h"
|
||||
|
||||
|
||||
#define SHOOT_SOUND @"shoot.caf"
|
||||
#define EXPLODE_SOUND @"explode.caf"
|
||||
|
||||
#define INGAME_MUSIC_FILE @"bg_music.mp3"
|
||||
#define GAMEOVER_MUSIC_FILE @"gameover_music.mp3"
|
||||
|
||||
|
||||
@implementation OALSimpleAudioSample
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if(nil != (self = [super init]))
|
||||
{
|
||||
// We don't want ipod music to keep playing since
|
||||
// we have our own bg music.
|
||||
[OALSimpleAudio sharedInstance].allowIpod = NO;
|
||||
|
||||
// Mute all audio if the silent switch is turned on.
|
||||
[OALSimpleAudio sharedInstance].honorSilentSwitch = YES;
|
||||
|
||||
// This loads the sound effects into memory so that
|
||||
// there's no delay when we tell it to play them.
|
||||
[[OALSimpleAudio sharedInstance] preloadEffect:SHOOT_SOUND];
|
||||
[[OALSimpleAudio sharedInstance] preloadEffect:EXPLODE_SOUND];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) onGameStart
|
||||
{
|
||||
// Play the BG music and loop it.
|
||||
[[OALSimpleAudio sharedInstance] playBg:INGAME_MUSIC_FILE loop:YES];
|
||||
}
|
||||
|
||||
- (void) onGamePause
|
||||
{
|
||||
[OALSimpleAudio sharedInstance].paused = YES;
|
||||
}
|
||||
|
||||
- (void) onGameResume
|
||||
{
|
||||
[OALSimpleAudio sharedInstance].paused = NO;
|
||||
}
|
||||
|
||||
- (void) onGameOver
|
||||
{
|
||||
// Could use stopEverything here if you want
|
||||
[[OALSimpleAudio sharedInstance] stopAllEffects];
|
||||
|
||||
// We only play the game over music through once.
|
||||
[[OALSimpleAudio sharedInstance] playBg:GAMEOVER_MUSIC_FILE];
|
||||
}
|
||||
|
||||
- (void) onShipShotABullet
|
||||
{
|
||||
[[OALSimpleAudio sharedInstance] playEffect:SHOOT_SOUND];
|
||||
}
|
||||
|
||||
- (void) onShipGotHit
|
||||
{
|
||||
[[OALSimpleAudio sharedInstance] playEffect:EXPLODE_SOUND];
|
||||
}
|
||||
|
||||
- (void) onQuitToMainMenu
|
||||
{
|
||||
// Stop all music and sound effects.
|
||||
[[OALSimpleAudio sharedInstance] stopEverything];
|
||||
|
||||
// Unload all sound effects and bg music so that it doesn't fill
|
||||
// memory unnecessarily.
|
||||
[[OALSimpleAudio sharedInstance] unloadAllEffects];
|
||||
}
|
||||
|
||||
@end
|
||||
\endcode
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section use_objectal_sec Using the OpenAL Objects and OALAudioTrack
|
||||
|
||||
The OpenAL objects and OALAudioTrack offer you much more power at the cost
|
||||
of complexity.
|
||||
Here's the same thing as above, done using OpenAL components and OALAudioTrack:
|
||||
|
||||
\code
|
||||
// OpenALAudioTrackSample.h
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "ObjectAL.h"
|
||||
|
||||
|
||||
@interface OpenALAudioTrackSample : NSObject
|
||||
{
|
||||
// Sound Effects
|
||||
ALDevice* device;
|
||||
ALContext* context;
|
||||
ALChannelSource* channel;
|
||||
ALBuffer* shootBuffer;
|
||||
ALBuffer* explosionBuffer;
|
||||
|
||||
// Background Music
|
||||
OALAudioTrack* musicTrack;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
// OpenALAudioTrackSample.m
|
||||
|
||||
#import "OpenALAudioTrackSample.h"
|
||||
|
||||
|
||||
#define SHOOT_SOUND @"shoot.caf"
|
||||
#define EXPLODE_SOUND @"explode.caf"
|
||||
|
||||
#define INGAME_MUSIC_FILE @"bg_music.mp3"
|
||||
#define GAMEOVER_MUSIC_FILE @"gameover_music.mp3"
|
||||
|
||||
|
||||
@implementation OpenALAudioTrackSample
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if(nil != (self = [super init]))
|
||||
{
|
||||
// Create the device and context.
|
||||
// Note that it's easier to just let OALSimpleAudio handle
|
||||
// these rather than make and manage them yourself.
|
||||
device = [[ALDevice deviceWithDeviceSpecifier:nil] retain];
|
||||
context = [[ALContext contextOnDevice:device attributes:nil] retain];
|
||||
[OpenALManager sharedInstance].currentContext = context;
|
||||
|
||||
// Deal with interruptions for me!
|
||||
[OALAudioSession sharedInstance].handleInterruptions = YES;
|
||||
|
||||
// We don't want ipod music to keep playing since
|
||||
// we have our own bg music.
|
||||
[OALAudioSession sharedInstance].allowIpod = NO;
|
||||
|
||||
// Mute all audio if the silent switch is turned on.
|
||||
[OALAudioSession sharedInstance].honorSilentSwitch = YES;
|
||||
|
||||
// Take all 32 sources for this channel.
|
||||
// (we probably won't use that many but what the heck!)
|
||||
channel = [[ALChannelSource channelWithSources:32] retain];
|
||||
|
||||
// Preload the buffers so we don't have to load and play them later.
|
||||
shootBuffer = [[[OpenALManager sharedInstance]
|
||||
bufferFromFile:SHOOT_SOUND] retain];
|
||||
explosionBuffer = [[[OpenALManager sharedInstance]
|
||||
bufferFromFile:EXPLODE_SOUND] retain];
|
||||
|
||||
// Background music track.
|
||||
musicTrack = [[OALAudioTrack track] retain];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[musicTrack release];
|
||||
|
||||
[channel release];
|
||||
[shootBuffer release];
|
||||
[explosionBuffer release];
|
||||
|
||||
// Note: You'll likely only have one device and context open throughout
|
||||
// your program, so in a real program you'd be better off making a
|
||||
// singleton object that manages the device and context, rather than
|
||||
// allocating/deallocating it here.
|
||||
// Most of the demos just let OALSimpleAudio manage the device and context
|
||||
// for them.
|
||||
[context release];
|
||||
[device release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void) onGameStart
|
||||
{
|
||||
// Play the BG music and loop it forever.
|
||||
[musicTrack playFile:INGAME_MUSIC_FILE loops:-1];
|
||||
}
|
||||
|
||||
- (void) onGamePause
|
||||
{
|
||||
musicTrack.paused = YES;
|
||||
channel.paused = YES;
|
||||
}
|
||||
|
||||
- (void) onGameResume
|
||||
{
|
||||
channel.paused = NO;
|
||||
musicTrack.paused = NO;
|
||||
}
|
||||
|
||||
- (void) onGameOver
|
||||
{
|
||||
[channel stop];
|
||||
[musicTrack stop];
|
||||
|
||||
// We only play the game over music through once.
|
||||
[musicTrack playFile:GAMEOVER_MUSIC_FILE];
|
||||
}
|
||||
|
||||
- (void) onShipShotABullet
|
||||
{
|
||||
[channel play:shootBuffer];
|
||||
}
|
||||
|
||||
- (void) onShipGotHit
|
||||
{
|
||||
[channel play:explosionBuffer];
|
||||
}
|
||||
|
||||
- (void) onQuitToMainMenu
|
||||
{
|
||||
// Stop all music and sound effects.
|
||||
[channel stop];
|
||||
[musicTrack stop];
|
||||
}
|
||||
|
||||
@end
|
||||
\endcode
|
||||
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section other_examples_sec Other Examples
|
||||
|
||||
The demo scenes in this distribution have been crafted to demonstrate common uses of this library.
|
||||
Try them out and go through the code to see how it's done. I've done my best to keep the code
|
||||
readable. Really!
|
||||
|
||||
You can try out the demos by building and running the OALDemo target for iOS or OSX.
|
||||
|
||||
The current demos are:
|
||||
- <strong>SingleSourceDemo</strong>: Demonstrates using a location based source and a listener.
|
||||
- <strong>TwoSourceDemo</strong>: Demonstrates using two location based sources and a listener.
|
||||
- <strong>VolumePitchPanDemo</strong>: Demonstrates using gain, pitch, and pan controls.
|
||||
- <strong>CrossFadeDemo</strong>: Demonstrates crossfading between two sources.
|
||||
- <strong>ChannelsDemo</strong>: Demonstrates using audio channels.
|
||||
- <strong>FadeDemo</strong>: Demonstrates realtime fading with OALAudioTrack and ALSource.
|
||||
- <strong>AudioTrackDemo</strong>: Demonstrates using multiple OALAudioTrack objects.
|
||||
- <strong>PlanetKillerDemo</strong>: Demonstrates using OALSimpleAudio in a game setting.
|
||||
- <strong>IntroAndMainTrackDemo</strong>: Demonstrates a short intro track followed by a main loop track.
|
||||
- <strong>SourceNotificationsDemo</strong>: Demonstrates using OpenAL playback notifications.
|
||||
- <strong>HardwareDemo</strong>: Demonstrates hardware monitoring features.
|
||||
- <strong>AudioSessionDemo</strong>: Allows you to play with various audio session settings.
|
||||
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section ios_issues_sec iOS Issues that can impede playback
|
||||
|
||||
Certain versions of iOS have bugs or quirks, requiring workarounds. ObjectAL tries to handle
|
||||
most of these automatically, but there are cases that require specific handling by the developer.
|
||||
These are:
|
||||
|
||||
<br>
|
||||
\subsection mpmovieplayercontroller_ios3 MPMoviePlayerController on iOS 3.x
|
||||
|
||||
In iOS 3.x, MPMoviePlayerController doesn't play nice, and takes over the audio session when
|
||||
you play a video. In order to mitigate this, you must manually suspend OpenAL, play the video,
|
||||
and then manually unsuspend once video playback finishes:
|
||||
|
||||
\code
|
||||
- (void) playVideo
|
||||
{
|
||||
if([myMoviePlayer respondsToSelector:@selector(view)])
|
||||
{
|
||||
[myMoviePlayer setFullscreen:YES animated:YES];
|
||||
}
|
||||
else
|
||||
{
|
||||
// No "view" method means we are < 4.0
|
||||
// Manually suspend so iOS 3.x doesn't clobber our session!
|
||||
[OpenALManager sharedInstance].manuallySuspended = YES;
|
||||
}
|
||||
|
||||
[myMoviePlayer play];
|
||||
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver:self
|
||||
selector:@selector(movieFinishedCallback:)
|
||||
name:MPMoviePlayerPlaybackDidFinishNotification
|
||||
object:myMoviePlayer];
|
||||
}
|
||||
|
||||
-(void)movieFinishedCallback:(NSNotification *)notification
|
||||
{
|
||||
if([myMoviePlayer respondsToSelector:@selector(view)])
|
||||
{
|
||||
if (myMoviePlayer.fullscreen)
|
||||
{
|
||||
[myMoviePlayer setFullscreen:NO animated:YES];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// No "view" method means we are < 4.0
|
||||
// Manually unsuspend
|
||||
[OpenALManager sharedInstance].manuallySuspended = NO;
|
||||
}
|
||||
}
|
||||
\endcode
|
||||
<br>
|
||||
\subsection mpmusicplayercontroller_ios4_0 MPMusicPlayerController on iOS 4.0
|
||||
|
||||
On iOS 4.0, MPMusicPlayerController sends an interrupt when it begins playback, but doesn't send
|
||||
a corresponding "end interrupt" when it ends. To work around this, force an "end interrupt"
|
||||
after starting playback:
|
||||
\code
|
||||
[[OALAudioSession sharedInstance] forceEndInterruption];
|
||||
\endcode
|
||||
|
||||
|
||||
|
||||
<br> <br>
|
||||
\section simulator_issues_sec Simulator Issues
|
||||
|
||||
As you've likely heard time and time again, the simulator is no substitute for the real thing.
|
||||
The simulator is buggy. It can run faster or slower than a real device. It fails system calls
|
||||
that a real device doesn't. It shows graphics glitches that a real device doesn't. Sounds stop
|
||||
working, clicks and static, dogs and cats living together, etc, etc.
|
||||
When things look wrong, try it on a real device before bugging people.
|
||||
|
||||
|
||||
<br>
|
||||
\subsection simulator_limitations Simulator Limitations
|
||||
|
||||
The simulator does not support setting audio modes, so setting allowIpod or honorSilentSwitch
|
||||
in OALAudioSession will have no effect in the simulator.
|
||||
|
||||
|
||||
<br>
|
||||
\subsection simulator_errors Error Codes on the Simulator
|
||||
|
||||
From time to time, the simulator can get confused, and start spitting out spurious errors.
|
||||
When this happens, check on a real device to make sure it's not just a simulator issue.
|
||||
Usually quitting and restarting the simulator will fix it, but sometimes you may have to reboot
|
||||
your machine as well.
|
||||
|
||||
|
||||
<br>
|
||||
\subsection simulator_playback Playback Issues
|
||||
|
||||
The simulator is notoriously finicky when it comes to audio playback. Any number of programs
|
||||
you've installed on your mac can cause the simulator to stop playing bg music, or effects, or
|
||||
both!
|
||||
|
||||
Some things to check when sound stops working:
|
||||
- Try resetting and restarting the simulator.
|
||||
- Try restarting XCode, cleaning, and recompiling your project.
|
||||
- Try rebooting your computer.
|
||||
- Open "Audio MIDI Setup" (type "midi" into spotlight to find it) and make sure "Built-in Output"
|
||||
is set to 44100.0 Hz.
|
||||
- Go to System Preferences -> Sound -> Output, and ensure that "Play sound effects through" is set
|
||||
to "Internal Speakers"
|
||||
- Go to System Preferences -> Sound -> Input, and ensure that it is using internal sound devices.
|
||||
- Go to System Preferences -> Sound -> Sound Effects, and ensure "Play user interface sound
|
||||
effects" is checked.
|
||||
- Some codecs may cause problems with sound playback. Try removing them.
|
||||
- Programs that redirect audio can wreak havoc on the simulator. Try removing them.
|
||||
|
||||
*/
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
//
|
||||
// ObjectALConfig.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-08-02.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
|
||||
/* Compile-time configuration for ObjectAL.
|
||||
*
|
||||
* The defines in this file provide broad guidelines for how ObjectAL will behave
|
||||
* in your application. They can either be set here, or you can set them as user
|
||||
* defines in your build configuration.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/** Resets the audio session when an error occurs that may have been caused by
|
||||
* a messed up session.
|
||||
*
|
||||
* In iOS 4.2, there are situations where an underlying sound system such as
|
||||
* mediaserverd will crash, putting the audio session in an uncertain state.
|
||||
* If this switch is enabled, OALAudioSession will reset itself when certain
|
||||
* kinds of audio errors occur.
|
||||
*
|
||||
* Recommended setting: 1 for release, possibly 0 during development.
|
||||
*/
|
||||
#ifndef OBJECTAL_CFG_RESET_AUDIO_SESSION_ON_ERROR
|
||||
#define OBJECTAL_CFG_RESET_AUDIO_SESSION_ON_ERROR 1
|
||||
#endif
|
||||
|
||||
|
||||
/** Enables support for methods that take blocks as arguments.
|
||||
* Blocks are only supported in iOS 4.0+, so enabling this will make your project
|
||||
* incompatible with earlier operating systems (a 3.x system will crash the moment it
|
||||
* encounters a class that supports blocks).
|
||||
*
|
||||
* Recommended setting: 0 if you want to support iOS prior to 4.0, 1 if you don't care.
|
||||
*/
|
||||
#ifndef OBJECTAL_CFG_USE_BLOCKS
|
||||
#define OBJECTAL_CFG_USE_BLOCKS 1
|
||||
#endif
|
||||
|
||||
|
||||
/** Determines how ObjectAL's actions are implemented.
|
||||
* If this is set to 1, ObjectAL's actions will inherit from cocos2d CCIntervalAction,
|
||||
* and will use cocos2d's CCActionManager rather than OALActionManager. <br>
|
||||
*
|
||||
* Recommended setting: 1 if you use Cocos2d exclusively, 0 if you use UIKit.
|
||||
*/
|
||||
#ifndef OBJECTAL_CFG_USE_COCOS2D_ACTIONS
|
||||
#define OBJECTAL_CFG_USE_COCOS2D_ACTIONS 0
|
||||
#endif
|
||||
|
||||
|
||||
/** Sets the interval in seconds between steps when performing actions with OALAction
|
||||
* subclasses. Lower values offer better accuracy, but take up more processing time
|
||||
* because they fire more often. <br>
|
||||
*
|
||||
* Generally, you want at least 4-5 steps in an audio operation, so for durations
|
||||
* of 0.2 and above, an interval of 1/30 is fine. For anything lower, you'll want a
|
||||
* smaller interval. <br>
|
||||
*
|
||||
* Note: The NSTimer documentation states that a timer will typically have a resolution
|
||||
* of around 0.05 to 0.1, though in practice smaller values seem to work fine. <br>
|
||||
*
|
||||
* Note: This setting only has effect if OBJECTAL_CFG_USE_COCOS2D_ACTIONS is 0. <br>
|
||||
*
|
||||
* Recommended setting: 1.0/30.0
|
||||
*/
|
||||
#ifndef kActionStepInterval
|
||||
#define kActionStepInterval (1.0/30.0)
|
||||
#endif
|
||||
|
||||
|
||||
/** When this option is enabled, all critical ObjectAL operations will be wrapped in
|
||||
* synchronized blocks. <br>
|
||||
*
|
||||
* Turning this off can improve performance a bit if your application makes heavy
|
||||
* use of audio calls, but you'll be on your own for ensuring two threads don't
|
||||
* access the same part of the audio library at the same time. <br>
|
||||
*
|
||||
* Recommended setting: 1
|
||||
*/
|
||||
#ifndef OBJECTAL_CFG_SYNCHRONIZED_OPERATIONS
|
||||
#define OBJECTAL_CFG_SYNCHRONIZED_OPERATIONS 1
|
||||
#endif
|
||||
|
||||
|
||||
/** When this option is other than LEVEL_NONE, ObjectAL will output log entries that correspond
|
||||
* to the LEVEL:
|
||||
*
|
||||
* LEVEL_NONE: No output
|
||||
* LEVEL_ERROR: Errors only
|
||||
* LEVEL_WARNING: Errors, Warnings
|
||||
* LEVEL_INFO: Errors, Warnings, Info
|
||||
* LEVEL_DEBUG: Errors, Warnings, Info, Debug
|
||||
*
|
||||
* Setting this to LEVEL_NONE will cause most internal functions to not bother checking error codes.
|
||||
*
|
||||
* Recommended setting: LEVEL_WARNING
|
||||
*/
|
||||
#ifndef OBJECTAL_CFG_LOG_LEVEL
|
||||
#define OBJECTAL_CFG_LOG_LEVEL LEVEL_WARNING
|
||||
#endif
|
||||
+251
@@ -0,0 +1,251 @@
|
||||
//
|
||||
// OpenALManager.h
|
||||
// ObjectAL
|
||||
//
|
||||
// Created by Karl Stenerud on 10-09-25.
|
||||
//
|
||||
// Copyright (c) 2009 Karl Stenerud. All rights reserved.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall remain in place
|
||||
// in this source code.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
//
|
||||
// Attribution is not required, but appreciated :)
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "SynthesizeSingleton.h"
|
||||
#import "ALContext.h"
|
||||
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
|
||||
#import <OpenAL/oalMacOSX_OALExtensions.h>
|
||||
#else
|
||||
#import <OpenAL/MacOSX_OALExtensions.h>
|
||||
#endif
|
||||
|
||||
|
||||
#pragma mark OpenALManager
|
||||
|
||||
/**
|
||||
* Manager class for OpenAL objects (ObjectAL).
|
||||
* Keeps track of devices that have been opened, and allows high level OpenAL management. <br>
|
||||
* Provides methods for loading ALBuffer objects from audio files. <br>
|
||||
* The OpenAL 1.1 specification is available at
|
||||
* http://connect.creativelabs.com/openal/Documentation <br>
|
||||
* Be sure to read through it (especially the part about distance models) as ObjectAL follows the
|
||||
* OpenAL object model. <br>
|
||||
*
|
||||
* Alternatively, you may opt to use OALSimpleAudio for a simpler interface.
|
||||
*/
|
||||
@interface OpenALManager : NSObject <OALSuspendManager>
|
||||
{
|
||||
/** All opened devices */
|
||||
NSMutableArray* devices;
|
||||
|
||||
/** Handles suspending and interrupting for this object. */
|
||||
OALSuspendHandler* suspendHandler;
|
||||
|
||||
/** Operation queue for asynchronous loading. */
|
||||
NSOperationQueue* operationQueue;
|
||||
}
|
||||
|
||||
|
||||
#pragma mark Properties
|
||||
|
||||
/** List of available playback devices (NSString*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* availableDevices;
|
||||
|
||||
/** List of available capture devices (NSString*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* availableCaptureDevices;
|
||||
|
||||
/** The current context (some context operations require the context to be the "current" one).
|
||||
* WEAK reference.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALContext* currentContext;
|
||||
|
||||
/** Name of the default capture device. */
|
||||
@property(nonatomic,readonly,retain) NSString* defaultCaptureDeviceSpecifier;
|
||||
|
||||
/** Name of the default playback device. */
|
||||
@property(nonatomic,readonly,retain) NSString* defaultDeviceSpecifier;
|
||||
|
||||
/** List of all open devices (ALDevice*). */
|
||||
@property(nonatomic,readonly,retain) NSArray* devices;
|
||||
|
||||
/** The frequency of the output mixer. */
|
||||
@property(nonatomic,readwrite,assign) ALdouble mixerOutputFrequency;
|
||||
|
||||
/** The rendering quality.
|
||||
*
|
||||
* Can be one of:
|
||||
* - ALC_MAC_OSX_SPATIAL_RENDERING_QUALITY_HIGH
|
||||
* - ALC_MAC_OSX_SPATIAL_RENDERING_QUALITY_LOW
|
||||
* - ALC_IPHONE_SPATIAL_RENDERING_QUALITY_HEADPHONES (iOS only)
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign) ALint renderingQuality;
|
||||
|
||||
|
||||
#pragma mark Object Management
|
||||
|
||||
/** Singleton implementation providing "sharedInstance" and "purgeSharedInstance" methods.
|
||||
*
|
||||
* <b>- (OpenALManager*) sharedInstance</b>: Get the shared singleton instance. <br>
|
||||
* <b>- (void) purgeSharedInstance</b>: Purge (deallocate) the shared instance.
|
||||
*/
|
||||
SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(OpenALManager);
|
||||
|
||||
|
||||
#pragma mark Buffers
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file.
|
||||
* The buffer's name will be the fully qualified URL of the path.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param filePath The path of the file containing the audio data.
|
||||
* @return An ALBuffer containing the audio data.
|
||||
*/
|
||||
- (ALBuffer*) bufferFromFile:(NSString*) filePath;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file.
|
||||
* The buffer's name will be the fully qualified URL of the path.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param filePath The path of the file containing the audio data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @return An ALBuffer containing the audio data.
|
||||
*/
|
||||
- (ALBuffer*) bufferFromFile:(NSString*) filePath reduceToMono:(bool) reduceToMono;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file.
|
||||
* The buffer's name will be the fully qualified URL.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param url The URL of the file containing the audio data.
|
||||
* @return An ALBuffer containing the audio data.
|
||||
*/
|
||||
- (ALBuffer*) bufferFromUrl:(NSURL*) url;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file.
|
||||
* The buffer's name will be the fully qualified URL.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param url The URL of the file containing the audio data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @return An ALBuffer containing the audio data.
|
||||
*/
|
||||
- (ALBuffer*) bufferFromUrl:(NSURL*) url reduceToMono:(bool) reduceToMono;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file asynchronously.
|
||||
* This method will schedule a request to have the buffer created and filled, and then call the
|
||||
* specified selector with the newly created buffer. <br>
|
||||
* The buffer's name will be the fully qualified URL of the path. <br>
|
||||
* Returns the fully qualified URL of the path, which you can match up to the buffer name in your
|
||||
* callback method.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param filePath The path of the file containing the audio data.
|
||||
* @param target The target to call when the buffer is loaded.
|
||||
* @param selector The selector to invoke when the buffer is loaded.
|
||||
* @return The fully qualified URL of the path.
|
||||
*/
|
||||
- (NSString*) bufferAsyncFromFile:(NSString*) filePath target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of an audio file asynchronously.
|
||||
* This method will schedule a request to have the buffer created and filled, and then call the
|
||||
* specified selector with the newly created buffer. <br>
|
||||
* The buffer's name will be the fully qualified URL of the path. <br>
|
||||
* Returns the fully qualified URL of the path, which you can match up to the buffer name in your
|
||||
* callback method.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param filePath The path of the file containing the audio data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @param target The target to call when the buffer is loaded.
|
||||
* @param selector The selector to invoke when the buffer is loaded.
|
||||
* @return The fully qualified URL of the path.
|
||||
*/
|
||||
- (NSString*) bufferAsyncFromFile:(NSString*) filePath
|
||||
reduceToMono:(bool) reduceToMono
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of a URL asynchronously.
|
||||
* This method will schedule a request to have the buffer created and filled, and then call the
|
||||
* specified selector with the newly created buffer. <br>
|
||||
* The buffer's name will be the fully qualified URL. <br>
|
||||
* Returns the fully qualified URL, which you can match up to the buffer name in your callback
|
||||
* method.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param url The URL of the file containing the audio data.
|
||||
* @param target The target to call when the buffer is loaded.
|
||||
* @param selector The selector to invoke when the buffer is loaded.
|
||||
* @return The fully qualified URL of the path.
|
||||
*/
|
||||
- (NSString*) bufferAsyncFromUrl:(NSURL*) url target:(id) target selector:(SEL) selector;
|
||||
|
||||
/** Load an OpenAL buffer with the contents of a URL asynchronously.
|
||||
* This method will schedule a request to have the buffer created and filled, and then call the
|
||||
* specified selector with the newly created buffer. <br>
|
||||
* The buffer's name will be the fully qualified URL. <br>
|
||||
* Returns the fully qualified URL, which you can match up to the buffer name in your callback
|
||||
* method.
|
||||
*
|
||||
* See the class description note regarding sound file formats.
|
||||
*
|
||||
* @param url The URL of the file containing the audio data.
|
||||
* @param reduceToMono If true, reduce the sample to mono
|
||||
* (stereo samples don't support panning or positional audio).
|
||||
* @param target The target to call when the buffer is loaded.
|
||||
* @param selector The selector to invoke when the buffer is loaded.
|
||||
* @return The fully qualified URL of the path.
|
||||
*/
|
||||
- (NSString*) bufferAsyncFromUrl:(NSURL*) url
|
||||
reduceToMono:(bool) reduceToMono
|
||||
target:(id) target
|
||||
selector:(SEL) selector;
|
||||
|
||||
|
||||
#pragma mark Utility
|
||||
|
||||
/** Clear all references to sound data from ALL buffers, managed or not.
|
||||
*/
|
||||
- (void) clearAllBuffers;
|
||||
|
||||
|
||||
#pragma mark Internal Use
|
||||
|
||||
/** \cond */
|
||||
/** (INTERNAL USE) Notify that a device is initializing.
|
||||
*/
|
||||
- (void) notifyDeviceInitializing:(ALDevice*) device;
|
||||
|
||||
/** (INTERNAL USE) Notify that a device is deallocating.
|
||||
*/
|
||||
- (void) notifyDeviceDeallocating:(ALDevice*) device;
|
||||
/** \endcond */
|
||||
|
||||
@end
|
||||
+438
@@ -0,0 +1,438 @@
|
||||
//
|
||||
// SynthesizeSingleton.h
|
||||
//
|
||||
// Modified by Karl Stenerud starting 16/04/2010.
|
||||
// - Moved the swizzle code to allocWithZone so that non-default init methods may be
|
||||
// used to initialize the singleton.
|
||||
// - Added "lesser" singleton which allows other instances besides sharedInstance to be created.
|
||||
// - Added guard ifndef so that this file can be used in multiple library distributions.
|
||||
// - Made singleton variable name class-specific so that it can be used on multiple classes
|
||||
// within the same compilation module.
|
||||
//
|
||||
// Modified by CJ Hanson on 26/02/2010.
|
||||
// This version of Matt's code uses method_setImplementaiton() to dynamically
|
||||
// replace the +sharedInstance method with one that does not use @synchronized
|
||||
//
|
||||
// Based on code by Matt Gallagher from CocoaWithLove
|
||||
//
|
||||
// Created by Matt Gallagher on 20/10/08.
|
||||
// Copyright 2009 Matt Gallagher. All rights reserved.
|
||||
//
|
||||
// Permission is given to use this source code file without charge in any
|
||||
// project, commercial or otherwise, entirely at your risk, with the condition
|
||||
// that any redistribution (in part or whole) of source code must retain
|
||||
// this copyright and permission notice. Attribution in compiled projects is
|
||||
// appreciated but not required.
|
||||
//
|
||||
|
||||
#ifndef SYNTHESIZE_SINGLETON_FOR_CLASS
|
||||
|
||||
#import <objc/runtime.h>
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Singleton
|
||||
|
||||
/* Synthesize Singleton For Class
|
||||
*
|
||||
* Creates a singleton interface for the specified class with the following methods:
|
||||
*
|
||||
* + (MyClass*) sharedInstance;
|
||||
* + (void) purgeSharedInstance;
|
||||
*
|
||||
* Calling sharedInstance will instantiate the class and swizzle some methods to ensure
|
||||
* that only a single instance ever exists.
|
||||
* Calling purgeSharedInstance will destroy the shared instance and return the swizzled
|
||||
* methods to their former selves.
|
||||
*
|
||||
*
|
||||
* Usage:
|
||||
*
|
||||
* MyClass.h:
|
||||
* ========================================
|
||||
* #import "SynthesizeSingleton.h"
|
||||
*
|
||||
* @interface MyClass: SomeSuperclass
|
||||
* {
|
||||
* ...
|
||||
* }
|
||||
* SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(MyClass);
|
||||
*
|
||||
* @end
|
||||
* ========================================
|
||||
*
|
||||
*
|
||||
* MyClass.m:
|
||||
* ========================================
|
||||
* #import "MyClass.h"
|
||||
*
|
||||
* // This line is optional. Use it if you've enabled GCC_WARN_UNDECLARED_SELECTOR
|
||||
* SYNTHESIZE_SINGLETON_FOR_CLASS_PROTOTYPE(MyClass);
|
||||
*
|
||||
* @implementation MyClass
|
||||
*
|
||||
* SYNTHESIZE_SINGLETON_FOR_CLASS(MyClass);
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* @end
|
||||
* ========================================
|
||||
*
|
||||
*
|
||||
* Note: Calling alloc manually will also initialize the singleton, so you
|
||||
* can call a more complex init routine to initialize the singleton like so:
|
||||
*
|
||||
* [[MyClass alloc] initWithParam:firstParam secondParam:secondParam];
|
||||
*
|
||||
* Just be sure to make such a call BEFORE you call "sharedInstance" in
|
||||
* your program.
|
||||
*/
|
||||
|
||||
#define SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(SS_CLASSNAME) \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstance; \
|
||||
+ (void) purgeSharedInstance;
|
||||
|
||||
|
||||
#if __has_feature(objc_arc) // ARC Version
|
||||
|
||||
#define SYNTHESIZE_SINGLETON_FOR_CLASS_PROTOTYPE(SS_CLASSNAME)
|
||||
|
||||
#define SYNTHESIZE_SINGLETON_FOR_CLASS(SS_CLASSNAME) \
|
||||
\
|
||||
static volatile SS_CLASSNAME* _##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceNoSynch \
|
||||
{ \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceSynch \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
_##SS_CLASSNAME##_sharedInstance = [[self alloc] init]; \
|
||||
} \
|
||||
} \
|
||||
return (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstance \
|
||||
{ \
|
||||
return [self sharedInstanceSynch]; \
|
||||
} \
|
||||
\
|
||||
+ (id)allocWithZone:(NSZone*) zone \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if (nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
_##SS_CLASSNAME##_sharedInstance = [super allocWithZone:zone]; \
|
||||
if(nil != _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceNoSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (void)purgeSharedInstance \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil != _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
_##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
- (id)copyWithZone:(NSZone *)zone \
|
||||
{ \
|
||||
_Pragma ( "unused(zone)" ) \
|
||||
return self; \
|
||||
} \
|
||||
\
|
||||
|
||||
#else // Non-ARC Version
|
||||
|
||||
#define SYNTHESIZE_SINGLETON_FOR_CLASS_PROTOTYPE(SS_CLASSNAME) \
|
||||
@interface SS_CLASSNAME (SynthesizeSingletonPrivate) \
|
||||
- (NSUInteger)retainCountDoNothing; \
|
||||
- (NSUInteger)retainCountDoSomething; \
|
||||
- (oneway void)releaseDoNothing; \
|
||||
- (oneway void)releaseDoSomething; \
|
||||
- (id)autoreleaseDoNothing; \
|
||||
- (id)autoreleaseDoSomething; \
|
||||
@end
|
||||
|
||||
#define SYNTHESIZE_SINGLETON_FOR_CLASS(SS_CLASSNAME) \
|
||||
\
|
||||
static volatile SS_CLASSNAME* _##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceNoSynch \
|
||||
{ \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceSynch \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
_##SS_CLASSNAME##_sharedInstance = [[self alloc] init]; \
|
||||
} \
|
||||
} \
|
||||
return (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstance \
|
||||
{ \
|
||||
return [self sharedInstanceSynch]; \
|
||||
} \
|
||||
\
|
||||
+ (id)allocWithZone:(NSZone*) zone \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if (nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
_##SS_CLASSNAME##_sharedInstance = [super allocWithZone:zone]; \
|
||||
if(nil != _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceNoSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(retainCount)), class_getMethodImplementation(self, @selector(retainCountDoNothing))); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(release)), class_getMethodImplementation(self, @selector(releaseDoNothing))); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(autorelease)), class_getMethodImplementation(self, @selector(autoreleaseDoNothing))); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (void)purgeSharedInstance \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil != _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(retainCount)), class_getMethodImplementation(self, @selector(retainCountDoSomething))); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(release)), class_getMethodImplementation(self, @selector(releaseDoSomething))); \
|
||||
method_setImplementation(class_getInstanceMethod(self, @selector(autorelease)), class_getMethodImplementation(self, @selector(autoreleaseDoSomething))); \
|
||||
[_##SS_CLASSNAME##_sharedInstance release]; \
|
||||
_##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
- (id)copyWithZone:(NSZone *)zone \
|
||||
{ \
|
||||
_Pragma ( "unused(zone)" ) \
|
||||
return self; \
|
||||
} \
|
||||
\
|
||||
- (id)retain \
|
||||
{ \
|
||||
return self; \
|
||||
} \
|
||||
\
|
||||
- (NSUInteger)retainCount \
|
||||
{ \
|
||||
NSAssert1(1==0, @"SynthesizeSingleton: %@ ERROR: -(NSUInteger)retainCount method did not get swizzled.", self); \
|
||||
return NSUIntegerMax; \
|
||||
} \
|
||||
\
|
||||
- (NSUInteger)retainCountDoNothing \
|
||||
{ \
|
||||
return NSUIntegerMax; \
|
||||
} \
|
||||
- (NSUInteger)retainCountDoSomething \
|
||||
{ \
|
||||
return [super retainCount]; \
|
||||
} \
|
||||
\
|
||||
- (oneway void)release \
|
||||
{ \
|
||||
NSAssert1(1==0, @"SynthesizeSingleton: %@ ERROR: -(void)release method did not get swizzled.", self); \
|
||||
} \
|
||||
\
|
||||
- (oneway void)releaseDoNothing{} \
|
||||
\
|
||||
- (oneway void)releaseDoSomething \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
[super release]; \
|
||||
} \
|
||||
} \
|
||||
\
|
||||
- (id)autorelease \
|
||||
{ \
|
||||
NSAssert1(1==0, @"SynthesizeSingleton: %@ ERROR: -(id)autorelease method did not get swizzled.", self); \
|
||||
return self; \
|
||||
} \
|
||||
\
|
||||
- (id)autoreleaseDoNothing \
|
||||
{ \
|
||||
return self; \
|
||||
} \
|
||||
\
|
||||
- (id)autoreleaseDoSomething \
|
||||
{ \
|
||||
return [super autorelease]; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Lesser Singleton
|
||||
|
||||
/* A lesser singleton has a shared instance, but can also be instantiated on its own.
|
||||
*
|
||||
* For a lesser singleton, you still use SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(),
|
||||
* but use SYNTHESIZE_LESSER_SINGLETON_FOR_CLASS() in the implementation file.
|
||||
* You must specify which creation methods are to initialize the shared instance
|
||||
* (besides "sharedInstance") via CALL_LESSER_SINGLETON_INIT_METHOD()
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* MyClass.h:
|
||||
* ========================================
|
||||
* #import "SynthesizeSingleton.h"
|
||||
*
|
||||
* @interface MyClass: SomeSuperclass
|
||||
* {
|
||||
* int value;
|
||||
* ...
|
||||
* }
|
||||
* SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(MyClass);
|
||||
*
|
||||
* + (void) initSharedInstanceWithValue:(int) value;
|
||||
*
|
||||
* - (id) initWithValue:(int) value;
|
||||
*
|
||||
* @end
|
||||
* ========================================
|
||||
*
|
||||
*
|
||||
* MyClass.m:
|
||||
* ========================================
|
||||
* #import "MyClass.h"
|
||||
*
|
||||
* // This line is optional. Use it if you've enabled GCC_WARN_UNDECLARED_SELECTOR
|
||||
* SYNTHESIZE_SINGLETON_FOR_CLASS_PROTOTYPE(MyClass);
|
||||
*
|
||||
* @implementation MyClass
|
||||
*
|
||||
* SYNTHESIZE_LESSER_SINGLETON_FOR_CLASS(MyClass);
|
||||
*
|
||||
* + (void) initSharedInstanceWithValue:(int) value
|
||||
* {
|
||||
* CALL_LESSER_SINGLETON_INIT_METHOD(MyClass, initWithValue:value);
|
||||
* }
|
||||
*
|
||||
* ...
|
||||
*
|
||||
* @end
|
||||
* ========================================
|
||||
*
|
||||
*
|
||||
* Note: CALL_LESSER_SINGLETON_INIT_METHOD() will not work if your
|
||||
* init call contains commas. If you need commas (such as for varargs),
|
||||
* or other more complex initialization, use the PRE and POST macros:
|
||||
*
|
||||
* + (void) initSharedInstanceComplex
|
||||
* {
|
||||
* CALL_LESSER_SINGLETON_INIT_METHOD_PRE(MyClass);
|
||||
*
|
||||
* int firstNumber = [self getFirstNumberSomehow];
|
||||
* _sharedInstance = [[self alloc] initWithValues:firstNumber, 2, 3, 4, -1];
|
||||
*
|
||||
* CALL_LESSER_SINGLETON_INIT_METHOD_POST(MyClass);
|
||||
* }
|
||||
*/
|
||||
|
||||
#define SYNTHESIZE_LESSER_SINGLETON_FOR_CLASS(SS_CLASSNAME) \
|
||||
\
|
||||
static volatile SS_CLASSNAME* _##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceNoSynch \
|
||||
{ \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstanceSynch \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
_##SS_CLASSNAME##_sharedInstance = [[self alloc] init]; \
|
||||
if(_##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceNoSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
SS_CLASSNAME* instance = (SS_CLASSNAME*) _##SS_CLASSNAME##_sharedInstance; \
|
||||
return instance; \
|
||||
} \
|
||||
\
|
||||
+ (SS_CLASSNAME*) sharedInstance \
|
||||
{ \
|
||||
return [self sharedInstanceSynch]; \
|
||||
} \
|
||||
\
|
||||
+ (void)purgeSharedInstance \
|
||||
{ \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
[_##SS_CLASSNAME##_sharedInstance release]; \
|
||||
_##SS_CLASSNAME##_sharedInstance = nil; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define CALL_LESSER_SINGLETON_INIT_METHOD_PRE(SS_CLASSNAME) \
|
||||
@synchronized(self) \
|
||||
{ \
|
||||
if(nil == _##SS_CLASSNAME##_sharedInstance) \
|
||||
{
|
||||
|
||||
|
||||
#define CALL_LESSER_SINGLETON_INIT_METHOD_POST(SS_CLASSNAME) \
|
||||
if(_##SS_CLASSNAME##_sharedInstance) \
|
||||
{ \
|
||||
Method newSharedInstanceMethod = class_getClassMethod(self, @selector(sharedInstanceNoSynch)); \
|
||||
method_setImplementation(class_getClassMethod(self, @selector(sharedInstance)), method_getImplementation(newSharedInstanceMethod)); \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define CALL_LESSER_SINGLETON_INIT_METHOD(SS_CLASSNAME,__INIT_CALL__) \
|
||||
CALL_LESSER_SINGLETON_INIT_METHOD_PRE(SS_CLASSNAME); \
|
||||
_##SS_CLASSNAME##_sharedInstance = [[self alloc] __INIT_CALL__]; \
|
||||
CALL_LESSER_SINGLETON_INIT_METHOD_POST(SS_CLASSNAME)
|
||||
|
||||
#endif /* SYNTHESIZE_SINGLETON_FOR_CLASS */
|
||||
Binary file not shown.
+6
@@ -0,0 +1,6 @@
|
||||
framework module ObjectAL {
|
||||
umbrella header "ObjectAL.h"
|
||||
export *
|
||||
|
||||
module * { export * }
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user