]> git.tdb.fi Git - gldbg.git/commitdiff
Add GLES2 flavor (gldbg doesn't build yet, glwrap.so and gldump do)
authorMikko Rasa <tdb@tdb.fi>
Tue, 15 Jun 2010 11:00:29 +0000 (11:00 +0000)
committerMikko Rasa <tdb@tdb.fi>
Tue, 15 Jun 2010 11:00:29 +0000 (11:00 +0000)
15 files changed:
flavors/gles2/egl.api [new file with mode: 0644]
flavors/gles2/egl.io [new file with mode: 0644]
flavors/gles2/egl.spec [new file with mode: 0644]
flavors/gles2/egl.tm [new file with mode: 0644]
flavors/gles2/eglenum.spec [new file with mode: 0644]
flavors/gles2/flavor.mk [new file with mode: 0644]
flavors/gles2/gles2.api [new file with mode: 0644]
flavors/gles2/gles2.io [new file with mode: 0644]
flavors/gles2/gles2.spec [new file with mode: 0644]
flavors/gles2/gles2.tm [new file with mode: 0644]
flavors/gles2/gles2enum.spec [new file with mode: 0644]
flavors/gles2/source/arraysize.c [new file with mode: 0644]
flavors/gles2/source/glwrap_funcs.c [new file with mode: 0644]
flavors/gles2/source/opengl.h [new file with mode: 0644]
source/glwrap.funcs.t

diff --git a/flavors/gles2/egl.api b/flavors/gles2/egl.api
new file mode 100644 (file)
index 0000000..fefa70c
--- /dev/null
@@ -0,0 +1,6 @@
+typemap egl.tm
+iomap egl.io
+spec egl.spec
+prefix egl
+enumspec eglenum.spec
+enumprefix EGL_
diff --git a/flavors/gles2/egl.io b/flavors/gles2/egl.io
new file mode 100644 (file)
index 0000000..3f795dd
--- /dev/null
@@ -0,0 +1,14 @@
+EGLint, int, %i
+EGLDisplay, pointer, %p
+EGLNativeDisplayType, pointer, %p
+EGLBoolean, int, %i
+char *, string, \"%s\"
+EGLConfig, pointer, %p
+EGLSurface, pointer, %p
+EGLNativeWindowType, int, %lx
+EGLNativePixmapType, int, %lx
+EGLenum, int, %s, describe_enum:p.name:'"%s"'%p.type
+EGLenumHack, int, %s, describe_enum:p.name:'"%s"'%p.type
+EGLClientBuffer, pointer, %p
+EGLContext, pointer, %p
+__eglMustCastToProperFunctionPointerType, pointer, %p
diff --git a/flavors/gles2/egl.spec b/flavors/gles2/egl.spec
new file mode 100644 (file)
index 0000000..44efdf8
--- /dev/null
@@ -0,0 +1,178 @@
+GetError()
+       return          EGLenumHack
+
+GetDisplay(display_id)
+       return          Display
+       param           display_id      NativeDisplayType in value
+
+Initialize(dpy, major, minor)
+       return          Boolean
+       param           dpy             Display in value
+       param           major           int out array [1]
+       param           minor           int out array [1]
+
+Terminate(dpy)
+       return          Boolean
+       param           dpy             Display in value
+
+QueryString(dpy, name)
+       return          string
+       param           dpy             Display in value
+       param           name            EGLenumHack in value
+
+GetConfigs(dpy, configs, config_size, num_config)
+       return          Boolean
+       param           dpy             Display in value
+       param           configs         Config out array [num_config]
+       param           config_size     int in value
+       param           num_config      int out array [1]
+
+ChooseConfig(dpy, attrib_list, configs, config_size, num_config)
+       return          Boolean
+       param           dpy             Display in value
+       param           attrib_list     EGLenumHack in array
+       param           configs         Config out array [num_config]
+       param           config_size     int in value
+       param           num_config      int out array [1]
+
+GetConfigAttrib(dpy, config, attribute, value)
+       return          Boolean
+       param           dpy             Display in value
+       param           config          Config in value
+       param           attribute       EGLenumHack in value
+       param           value           int out array [1]
+
+CreateWindowSurface(dpy, config, win, attrib_list)
+       return          Surface
+       param           dpy             Display in value
+       param           config          Config in value
+       param           win             NativeWindowType in value
+       param           attrib_list     EGLenumHack in array
+
+CreatePbufferSurface(dpy, config, attrib_list)
+       return          Surface
+       param           dpy             Display in value
+       param           config          Config in value
+       param           attrib_list     EGLenumHack in array
+
+CreatePixmapSurface(dpy, config, pixmap, attrib_list)
+       return          Surface
+       param           dpy             Display in value
+       param           config          Config in value
+       param           pixmap          NativePixmapType in value
+       param           attrib_list     EGLenumHack in array
+
+DestroySurface(dpy, surface)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+
+QuerySurface(dpy, surface, attribute, value)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+       param           attribute       EGLenumHack in value
+       param           value           int out array [1]
+
+BindAPI(api)
+       return          Boolean
+       param           api             EGLenum in value
+
+QueryAPI()
+       return          EGLenum
+
+WaitClient()
+       return          Boolean
+
+ReleaseThread()
+       return          Boolean
+
+CreatePbufferFromClientBuffer(dpy, buftype, buffer, config, attrib_list)
+       return          Surface
+       param           dpy             Display in value
+       param           buftype         EGLenum in value
+       param           buffer          ClientBuffer in value
+       param           config          Config in value
+       param           attrib_list     EGLenumHack in array
+
+SurfaceAttrib(dpy, surface, attribute, value)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+       param           attribute       int in value
+       param           value           EGLenumHack in value
+
+BindTexImage(dpy, surface, buffer)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+       param           buffer          int in value
+
+ReleaseTexImage(dpy, surface, buffer)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+       param           buffer          int in value
+
+SwapInterval(dpy, interval)
+       return          Boolean
+       param           dpy             Display in value
+       param           interval        int in value
+
+CreateContext(dpy, config, share_context, attrib_list)
+       return          Context
+       param           dpy             Display in value
+       param           config          Config in value
+       param           share_context   Context in value
+       param           attrib_list     EGLenumHack in array
+
+DestroyContext(dpy, ctx)
+       return          Boolean
+       param           dpy             Display in value
+       param           ctx             Context in value
+
+MakeCurrent(dpy, draw, read, ctx)
+       return          Boolean
+       param           dpy             Display in value
+       param           draw            Surface in value
+       param           read            Surface in value
+       param           ctx             Context in value
+
+GetCurrentContext()
+       return          Context
+
+GetCurrentSurface(readdraw)
+       return          Surface
+       param           readdraw        EGLenumHack in value
+
+GetCurrentDisplay()
+       return          Display
+
+QueryContext(dpy, ctx, attribute, value)
+       return          Boolean
+       param           dpy             Display in value
+       param           ctx             Context in value
+       param           attribute       EGLenumHack in value
+       param           value           int out array [1]
+
+WaitGL()
+       return          Boolean
+
+WaitNative(engine)
+       return          Boolean
+       param           engine          EGLenumHack in value
+
+SwapBuffers(dpy, surface)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+
+CopyBuffers(dpy, surface, target)
+       return          Boolean
+       param           dpy             Display in value
+       param           surface         Surface in value
+       param           target          NativePixmapType in value
+
+GetProcAddress(procname)
+       return          FuncPtr
+       param           procname        string in value
diff --git a/flavors/gles2/egl.tm b/flavors/gles2/egl.tm
new file mode 100644 (file)
index 0000000..6b696dd
--- /dev/null
@@ -0,0 +1,14 @@
+int,*,*,               EGLint,*,*
+Display,*,*,           EGLDisplay,*,*
+NativeDisplayType,*,*, EGLNativeDisplayType,*,*
+Boolean,*,*,           EGLBoolean,*,*
+string,*,*,            const char *,*,*
+Config,*,*,            EGLConfig,*,*
+Surface,*,*,           EGLSurface,*,*
+NativeWindowType,*,*,  EGLNativeWindowType,*,*
+NativePixmapType,*,*,  EGLNativePixmapType,*,*
+EGLenumHack,*,*,       EGLenumHack,*,*
+EGLenum,*,*,           EGLenum,*,*
+ClientBuffer,*,*,      EGLClientBuffer,*,*
+Context,*,*,           EGLContext,*,*
+FuncPtr,*,*,           __eglMustCastToProperFunctionPointerType,*,*
diff --git a/flavors/gles2/eglenum.spec b/flavors/gles2/eglenum.spec
new file mode 100644 (file)
index 0000000..d8baa34
--- /dev/null
@@ -0,0 +1,116 @@
+EGL enum:
+       VERSION_1_0              = 1
+       VERSION_1_1              = 1
+       VERSION_1_2              = 1
+       VERSION_1_3              = 1
+       VERSION_1_4              = 1
+       FALSE            = 0
+       TRUE             = 1
+       SUCCESS          = 0x3000
+       NOT_INITIALIZED  = 0x3001
+       BAD_ACCESS               = 0x3002
+       BAD_ALLOC                = 0x3003
+       BAD_ATTRIBUTE    = 0x3004
+       BAD_CONFIG               = 0x3005
+       BAD_CONTEXT              = 0x3006
+       BAD_CURRENT_SURFACE      = 0x3007
+       BAD_DISPLAY              = 0x3008
+       BAD_MATCH                = 0x3009
+       BAD_NATIVE_PIXMAP        = 0x300A
+       BAD_NATIVE_WINDOW        = 0x300B
+       BAD_PARAMETER    = 0x300C
+       BAD_SURFACE              = 0x300D
+       CONTEXT_LOST     = 0x300E       /* EGL 1.1 - IMG_power_management */
+       BUFFER_SIZE              = 0x3020
+       ALPHA_SIZE               = 0x3021
+       BLUE_SIZE                = 0x3022
+       GREEN_SIZE               = 0x3023
+       RED_SIZE                 = 0x3024
+       DEPTH_SIZE               = 0x3025
+       STENCIL_SIZE     = 0x3026
+       CONFIG_CAVEAT    = 0x3027
+       CONFIG_ID                = 0x3028
+       LEVEL            = 0x3029
+       MAX_PBUFFER_HEIGHT       = 0x302A
+       MAX_PBUFFER_PIXELS       = 0x302B
+       MAX_PBUFFER_WIDTH        = 0x302C
+       NATIVE_RENDERABLE        = 0x302D
+       NATIVE_VISUAL_ID         = 0x302E
+       NATIVE_VISUAL_TYPE       = 0x302F
+       SAMPLES          = 0x3031
+       SAMPLE_BUFFERS   = 0x3032
+       SURFACE_TYPE     = 0x3033
+       TRANSPARENT_TYPE         = 0x3034
+       TRANSPARENT_BLUE_VALUE = 0x3035
+       TRANSPARENT_GREEN_VALUE = 0x3036
+       TRANSPARENT_RED_VALUE = 0x3037
+       NONE             = 0x3038       /* Attrib list terminator */
+       BIND_TO_TEXTURE_RGB      = 0x3039
+       BIND_TO_TEXTURE_RGBA = 0x303A
+       MIN_SWAP_INTERVAL        = 0x303B
+       MAX_SWAP_INTERVAL        = 0x303C
+       LUMINANCE_SIZE   = 0x303D
+       ALPHA_MASK_SIZE  = 0x303E
+       COLOR_BUFFER_TYPE        = 0x303F
+       RENDERABLE_TYPE  = 0x3040
+       MATCH_NATIVE_PIXMAP      = 0x3041       /* Pseudo-attribute (not queryable) */
+       CONFORMANT               = 0x3042
+       SLOW_CONFIG              = 0x3050       /* EGL_CONFIG_CAVEAT value */
+       NON_CONFORMANT_CONFIG = 0x3051  /* EGL_CONFIG_CAVEAT value */
+       TRANSPARENT_RGB  = 0x3052       /* EGL_TRANSPARENT_TYPE value */
+       RGB_BUFFER               = 0x308E       /* EGL_COLOR_BUFFER_TYPE value */
+       LUMINANCE_BUFFER         = 0x308F       /* EGL_COLOR_BUFFER_TYPE value */
+       NO_TEXTURE               = 0x305C
+       TEXTURE_RGB              = 0x305D
+       TEXTURE_RGBA     = 0x305E
+       TEXTURE_2D               = 0x305F
+       PBUFFER_BIT              = 0x0001       /* EGL_SURFACE_TYPE mask bits */
+       PIXMAP_BIT               = 0x0002       /* EGL_SURFACE_TYPE mask bits */
+       WINDOW_BIT               = 0x0004       /* EGL_SURFACE_TYPE mask bits */
+       VG_COLORSPACE_LINEAR_BIT = 0x0020       /* EGL_SURFACE_TYPE mask bits */
+       VG_ALPHA_FORMAT_PRE_BIT = 0x0040        /* EGL_SURFACE_TYPE mask bits */
+       MULTISAMPLE_RESOLVE_BOX_BIT 0x0200      /* EGL_SURFACE_TYPE mask bits */
+       SWAP_BEHAVIOR_PRESERVED_BIT 0x0400      /* EGL_SURFACE_TYPE mask bits */
+       OPENGL_ES_BIT    = 0x0001       /* EGL_RENDERABLE_TYPE mask bits */
+       OPENVG_BIT               = 0x0002       /* EGL_RENDERABLE_TYPE mask bits */
+       OPENGL_ES2_BIT   = 0x0004       /* EGL_RENDERABLE_TYPE mask bits */
+       OPENGL_BIT               = 0x0008       /* EGL_RENDERABLE_TYPE mask bits */
+       VENDOR           = 0x3053
+       VERSION          = 0x3054
+       EXTENSIONS               = 0x3055
+       CLIENT_APIS              = 0x308D
+       HEIGHT           = 0x3056
+       WIDTH            = 0x3057
+       LARGEST_PBUFFER  = 0x3058
+       TEXTURE_FORMAT   = 0x3080
+       TEXTURE_TARGET   = 0x3081
+       MIPMAP_TEXTURE   = 0x3082
+       MIPMAP_LEVEL     = 0x3083
+       RENDER_BUFFER    = 0x3086
+       VG_COLORSPACE    = 0x3087
+       VG_ALPHA_FORMAT  = 0x3088
+       HORIZONTAL_RESOLUTION = 0x3090
+       VERTICAL_RESOLUTION      = 0x3091
+       PIXEL_ASPECT_RATIO       = 0x3092
+       SWAP_BEHAVIOR    = 0x3093
+       MULTISAMPLE_RESOLVE      = 0x3099
+       BACK_BUFFER              = 0x3084
+       SINGLE_BUFFER    = 0x3085
+       VG_COLORSPACE_sRGB       = 0x3089       /* EGL_VG_COLORSPACE value */
+       VG_COLORSPACE_LINEAR = 0x308A   /* EGL_VG_COLORSPACE value */
+       VG_ALPHA_FORMAT_NONPRE = 0x308B /* EGL_ALPHA_FORMAT value */
+       VG_ALPHA_FORMAT_PRE      = 0x308C       /* EGL_ALPHA_FORMAT value */
+       DISPLAY_SCALING  = 10000
+       BUFFER_PRESERVED         = 0x3094       /* EGL_SWAP_BEHAVIOR value */
+       BUFFER_DESTROYED         = 0x3095       /* EGL_SWAP_BEHAVIOR value */
+       OPENVG_IMAGE     = 0x3096
+       CONTEXT_CLIENT_TYPE      = 0x3097
+       CONTEXT_CLIENT_VERSION = 0x3098
+       MULTISAMPLE_RESOLVE_DEFAULT 0x309A      /* EGL_MULTISAMPLE_RESOLVE value */
+       MULTISAMPLE_RESOLVE_BOX = 0x309B        /* EGL_MULTISAMPLE_RESOLVE value */
+       OPENGL_ES_API    = 0x30A0
+       OPENVG_API               = 0x30A1
+       OPENGL_API               = 0x30A2
+       DRAW             = 0x3059
+       READ             = 0x305A
+       CORE_NATIVE_ENGINE       = 0x305B
diff --git a/flavors/gles2/flavor.mk b/flavors/gles2/flavor.mk
new file mode 100644 (file)
index 0000000..3f9ac80
--- /dev/null
@@ -0,0 +1,4 @@
+# $Id$
+
+CPPFLAGS += -DAPIENTRY=
+APIS := $(FLAVOR_ROOT)/gles2.api $(FLAVOR_ROOT)/egl.api
diff --git a/flavors/gles2/gles2.api b/flavors/gles2/gles2.api
new file mode 100644 (file)
index 0000000..a050980
--- /dev/null
@@ -0,0 +1,6 @@
+typemap gles2.tm
+iomap gles2.io
+spec gles2.spec
+prefix gl
+enumspec gles2enum.spec
+enumprefix GL_
diff --git a/flavors/gles2/gles2.io b/flavors/gles2/gles2.io
new file mode 100644 (file)
index 0000000..f64dab6
--- /dev/null
@@ -0,0 +1,26 @@
+enum, int, %s, describe_enum:p.name:'"%s"'%p.type
+boolean, char, %i
+bitfield, int, %s, describe_bitfield:p.name:'"%s"'%p.type
+byte, char, %i
+ubyte, char, %u
+short, short, %i
+ushort, short, %u
+int, int, %i
+uint, int, %u
+unsigned int, int, %u
+sizei, int, %i
+intptr, int, %li
+sizeiptr, int, %li
+handle, int, %i
+int64, long long, %lli
+uint64, long long, %llu
+half, short, %#x
+float, float, %g
+clampf, float, %g
+double, double, %g
+clampd, double, %g
+ubyte *, string, \"%s\"
+char *, string, \"%s\"
+void *, pointer, %p
+void* const, pointer, %p
+boolean *, pointer, %p
diff --git a/flavors/gles2/gles2.spec b/flavors/gles2/gles2.spec
new file mode 100644 (file)
index 0000000..96abda9
--- /dev/null
@@ -0,0 +1,810 @@
+ActiveTexture(texture)
+       return          void
+       param           texture         TextureUnit in value
+
+AttachShader(program, shader)
+       return          void
+       param           program         UInt32 in value
+       param           shader          UInt32 in value
+
+BindAttribLocation(program, index, name)
+       return          void
+       param           program         UInt32 in value
+       param           index           UInt32 in value
+       param           name            Char in array []
+
+BindBuffer(target, buffer)
+       return          void
+       param           target          BufferTarget in value
+       param           buffer          UInt32 in value
+
+BindFramebuffer(target, framebuffer)
+       return          void
+       param           target          FramebufferTarget in value
+       param           framebuffer     UInt32 in value
+
+BindRenderbuffer(target, renderbuffer)
+       return          void
+       param           target          RenderbufferTarget in value
+       param           renderbuffer    UInt32 in value
+
+BindTexture(target, texture)
+       return          void
+       param           target          TextureTarget in value
+       param           texture         Texture in value
+
+BlendColor(red, green, blue, alpha)
+       return          void
+       param           red             ClampedColorF in value
+       param           green           ClampedColorF in value
+       param           blue            ClampedColorF in value
+       param           alpha           ClampedColorF in value
+
+BlendEquation(mode)
+       return          void
+       param           mode            BlendEquationMode in value
+
+BlendEquationSeparate(modeRGB, modeAlpha)
+       return          void
+       param           modeRGB         BlendEquationMode in value
+       param           modeAlpha       BlendEquationMode in value
+
+BlendFunc(sfactor, dfactor)
+       return          void
+       param           sfactor         BlendingFactorSrc in value
+       param           dfactor         BlendingFactorDest in value
+
+BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha)
+       return          void
+       param           sfactorRGB      BlendFuncSeparateParameter in value
+       param           dfactorRGB      BlendFuncSeparateParameter in value
+       param           sfactorAlpha    BlendFuncSeparateParameter in value
+       param           dfactorAlpha    BlendFuncSeparateParameter in value
+
+BufferData(target, size, data, usage)
+       return          void
+       param           target          BufferTarget in value
+       param           size            BufferSize in value
+       param           data            ConstVoid in array [size]
+       param           usage           BufferUsage in value
+
+BufferSubData(target, offset, size, data)
+       return          void
+       param           target          BufferTarget in value
+       param           offset          BufferOffset in value
+       param           size            BufferSize in value
+       param           data            ConstVoid in array [size]
+
+CheckFramebufferStatus(target)
+       return          GLenum
+       param           target          FramebufferTarget in value
+
+Clear(mask)
+       return          void
+       param           mask            ClearBufferMask in value
+
+ClearColor(red, green, blue, alpha)
+       return          void
+       param           red             ClampedColorF in value
+       param           green           ClampedColorF in value
+       param           blue            ClampedColorF in value
+       param           alpha           ClampedColorF in value
+
+ClearDepthf(depth)
+       return          void
+       param           depth           ClampedFloat32 in value
+
+ClearStencil(s)
+       return          void
+       param           s               StencilValue in value
+
+ColorMask(red, green, blue, alpha)
+       return          void
+       param           red             Boolean in value
+       param           green           Boolean in value
+       param           blue            Boolean in value
+       param           alpha           Boolean in value
+
+CompileShader(shader)
+       return          void
+       param           shader          UInt32 in value
+
+CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           internalformat  PixelInternalFormat in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           border          CheckedInt32 in value
+       param           imageSize       SizeI in value
+       param           data            CompressedTexture in array [imageSize]
+
+CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           xoffset         CheckedInt32 in value
+       param           yoffset         CheckedInt32 in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           format          PixelFormat in value
+       param           imageSize       SizeI in value
+       param           data            CompressedTexture in array [imageSize]
+
+CopyTexImage2D(target, level, internalformat, x, y, width, height, border)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           internalformat  PixelInternalFormat in value
+       param           x               WinCoord in value
+       param           y               WinCoord in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           border          CheckedInt32 in value
+
+CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           xoffset         CheckedInt32 in value
+       param           yoffset         CheckedInt32 in value
+       param           x               WinCoord in value
+       param           y               WinCoord in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+
+CreateProgram()
+       return          UInt32
+
+CreateShader(type)
+       return          UInt32
+       param           type            GLenum in value
+
+CullFace(mode)
+       return          void
+       param           mode            CullFaceMode in value
+
+DeleteBuffers(n, buffers)
+       return          void
+       param           n               SizeI in value
+       param           buffers         ConstUInt32 in array [n]
+
+DeleteFramebuffers(n, framebuffers)
+       return          void
+       param           n               SizeI in value
+       param           framebuffers    UInt32 in array [n]
+
+DeleteProgram(program)
+       return          void
+       param           program         UInt32 in value
+
+DeleteRenderbuffers(n, renderbuffers)
+       return          void
+       param           n               SizeI in value
+       param           renderbuffers   UInt32 in array [n]
+
+DeleteShader(shader)
+       return          void
+       param           shader          UInt32 in value
+
+DeleteTextures(n, textures)
+       return          void
+       param           n               SizeI in value
+       param           textures        Texture in array [n]
+
+DepthFunc(func)
+       return          void
+       param           func            DepthFunction in value
+
+DepthMask(flag)
+       return          void
+       param           flag            Boolean in value
+
+DepthRangef(near, far)
+       return          void
+       param           near            ClampedFloat32 in value
+       param           far             ClampedFloat32 in value
+
+DetachShader(program, shader)
+       return          void
+       param           program         UInt32 in value
+       param           shader          UInt32 in value
+
+Disable(cap)
+       return          void
+       param           cap             EnableCap in value
+
+DisableVertexAttribArray(index)
+       return          void
+       param           index           UInt32 in value
+
+DrawArrays(mode, first, count)
+       return          void
+       param           mode            BeginMode in value
+       param           first           Int32 in value
+       param           count           SizeI in value
+
+DrawElements(mode, count, type, indices)
+       return          void
+       param           mode            BeginMode in value
+       param           count           SizeI in value
+       param           type            DrawElementsType in value
+       param           indices         Void in array [COMPSIZE(count/type)]
+
+Enable(cap)
+       return          void
+       param           cap             EnableCap in value
+
+EnableVertexAttribArray(index)
+       return          void
+       param           index           UInt32 in value
+
+Finish()
+       return          void
+
+Flush()
+       return          void
+
+FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer)
+       return          void
+       param           target          FramebufferTarget in value
+       param           attachment      FramebufferAttachment in value
+       param           renderbuffertarget      RenderbufferTarget in value
+       param           renderbuffer    UInt32 in value
+
+FramebufferTexture2D(target, attachment, textarget, texture, level)
+       return          void
+       param           target          FramebufferTarget in value
+       param           attachment      FramebufferAttachment in value
+       param           textarget       GLenum in value
+       param           texture         UInt32 in value
+       param           level           Int32 in value
+
+FrontFace(mode)
+       return          void
+       param           mode            FrontFaceDirection in value
+
+GenBuffers(n, buffers)
+       return          void
+       param           n               SizeI in value
+       param           buffers         UInt32 out array [n]
+
+GenerateMipmap(target)
+       return          void
+       param           target          GLenum in value
+
+GenFramebuffers(n, framebuffers)
+       return          void
+       param           n               SizeI in value
+       param           framebuffers    UInt32 out array [n]
+
+GenRenderbuffers(n, renderbuffers)
+       return          void
+       param           n               SizeI in value
+       param           renderbuffers   UInt32 out array [n]
+
+GenTextures(n, textures)
+       return          void
+       param           n               SizeI in value
+       param           textures        Texture out array [n]
+
+GetActiveAttrib(program, index, bufSize, length, size, type, name)
+       return          void
+       param           program         UInt32 in value
+       param           index           UInt32 in value
+       param           bufSize         SizeI in value
+       param           length          SizeI out array [1]
+       param           size            Int32 out array [1]
+       param           type            GLenum out array [1]
+       param           name            Char out array []
+
+GetActiveUniform(program, index, bufSize, length, size, type, name)
+       return          void
+       param           program         UInt32 in value
+       param           index           UInt32 in value
+       param           bufSize         SizeI in value
+       param           length          SizeI out array [1]
+       param           size            Int32 out array [1]
+       param           type            GLenum out array [1]
+       param           name            Char out array []
+
+GetAttachedShaders(program, maxCount, count, obj)
+       return          void
+       param           program         UInt32 in value
+       param           maxCount        SizeI in value
+       param           count           SizeI out array [1]
+       param           obj             UInt32 out array [count]
+
+GetAttribLocation(program, name)
+       return          Int32
+       param           program         UInt32 in value
+       param           name            Char in array []
+
+GetBooleanv(pname, params)
+       return          void
+       param           pname           GetPName in value
+       param           params          Boolean out array [COMPSIZE(pname)]
+
+GetBufferParameteriv(target, pname, params)
+       return          void
+       param           target          BufferTarget in value
+       param           pname           BufferPName in value
+       param           params          Int32 out array [COMPSIZE(pname)]
+
+GetError()
+       return          ErrorCode
+
+GetFloatv(pname, params)
+       return          void
+       param           pname           GetPName in value
+       param           params          Float32 out array [COMPSIZE(pname)]
+
+GetFramebufferAttachmentParameteriv(target, attachment, pname, params)
+       return          void
+       param           target          FramebufferTarget in value
+       param           attachment      FramebufferAttachment in value
+       param           pname           GLenum in value
+       param           params          Int32 out array [COMPSIZE(pname)]
+
+GetIntegerv(pname, params)
+       return          void
+       param           pname           GetPName in value
+       param           params          Int32 out array [COMPSIZE(pname)]
+
+GetProgramiv(program, pname, params)
+       return          void
+       param           program         UInt32 in value
+       param           pname           GLenum in value
+       param           params          Int32 out array [pname]
+
+GetProgramInfoLog(program, bufSize, length, infoLog)
+       return          void
+       param           program         UInt32 in value
+       param           bufSize         SizeI in value
+       param           length          SizeI out array [1]
+       param           infoLog         Char out array [length]
+
+GetRenderbufferParameteriv(target, pname, params)
+       return          void
+       param           target          RenderbufferTarget in value
+       param           pname           GLenum in value
+       param           params          Int32 out array [COMPSIZE(pname)]
+
+GetShaderiv(shader, pname, params)
+       return          void
+       param           shader          UInt32 in value
+       param           pname           GLenum in value
+       param           params          Int32 out array [pname]
+
+GetShaderInfoLog(shader, bufSize, length, infoLog)
+       return          void
+       param           shader          UInt32 in value
+       param           bufSize         SizeI in value
+       param           length          SizeI out array [1]
+       param           infoLog         Char out array [length]
+
+#GetShaderPrecisionFormat
+
+GetShaderSource(shader, bufSize, length, source)
+       return          void
+       param           shader          UInt32 in value
+       param           bufSize         SizeI in value
+       param           length          SizeI out array [1]
+       param           source          Char out array [length]
+
+GetString(name)
+       return          String
+       param           name            StringName in value
+
+GetTexParameterfv(target, pname, params)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           GetTextureParameter in value
+       param           params          Float32 out array [COMPSIZE(pname)]
+
+GetTexParameteriv(target, pname, params)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           GetTextureParameter in value
+       param           params          Int32 out array [COMPSIZE(pname)]
+
+GetUniformfv(program, location, params)
+       return          void
+       param           program         UInt32 in value
+       param           location        Int32 in value
+       param           params          Float32 out array [location]
+
+GetUniformiv(program, location, params)
+       return          void
+       param           program         UInt32 in value
+       param           location        Int32 in value
+       param           params          Int32 out array [location]
+
+GetUniformLocation(program, name)
+       return          Int32
+       param           program         UInt32 in value
+       param           name            Char in array []
+
+GetVertexAttribfv(index, pname, params)
+       return          void
+       param           index           UInt32 in value
+       param           pname           VertexAttribPropertyARB in value
+       param           params          Float32 out array [4]
+
+GetVertexAttribiv(index, pname, params)
+       return          void
+       param           index           UInt32 in value
+       param           pname           VertexAttribPropertyARB in value
+       param           params          Int32 out array [4]
+
+GetVertexAttribPointerv(index, pname, pointer)
+       return          void
+       param           index           UInt32 in value
+       param           pname           VertexAttribPointerPropertyARB in value
+       param           pointer         VoidPointer out array [1]
+
+Hint(target, mode)
+       return          void
+       param           target          HintTarget in value
+       param           mode            HintMode in value
+
+IsBuffer(buffer)
+       return          Boolean
+       param           buffer          UInt32 in value
+
+IsEnabled(cap)
+       return          Boolean
+       param           cap             EnableCap in value
+
+IsFramebuffer(framebuffer)
+       return          Boolean
+       param           framebuffer     UInt32 in value
+
+IsProgram(program)
+       return          Boolean
+       param           program         UInt32 in value
+
+IsRenderbuffer(renderbuffer)
+       return          Boolean
+       param           renderbuffer    UInt32 in value
+
+IsShader(shader)
+       return          Boolean
+       param           shader          UInt32 in value
+
+IsTexture(texture)
+       return          Boolean
+       param           texture         Texture in value
+
+LineWidth(width)
+       return          void
+       param           width           CheckedFloat32 in value
+
+LinkProgram(program)
+       return          void
+       param           program         UInt32 in value
+
+PixelStorei(pname, param)
+       return          void
+       param           pname           PixelStoreParameter in value
+       param           param           CheckedInt32 in value
+
+PolygonOffset(factor, units)
+       return          void
+       param           factor          Float32 in value
+       param           units           Float32 in value
+
+ReadPixels(x, y, width, height, format, type, pixels)
+       return          void
+       param           x               WinCoord in value
+       param           y               WinCoord in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           format          PixelFormat in value
+       param           type            PixelType in value
+       param           pixels          Void out array [COMPSIZE(format/type/width/height)]
+
+#ReleaseShaderCompiler
+
+RenderbufferStorage(target, internalformat, width, height)
+       return          void
+       param           target          RenderbufferTarget in value
+       param           internalformat  GLenum in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+
+SampleCoverage(value, invert)
+       return          void
+       param           value           ClampedFloat32 in value
+       param           invert          Boolean in value
+
+Scissor(x, y, width, height)
+       return          void
+       param           x               WinCoord in value
+       param           y               WinCoord in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+
+#ShaderBinary
+
+ShaderSource(shader, count, string, length)
+       return          void
+       param           shader          UInt32 in value
+       param           count           SizeI in value
+       param           string          CharPointer in array [count]
+       param           length          Int32 in array [1]
+
+StencilFunc(func, ref, mask)
+       return          void
+       param           func            StencilFunction in value
+       param           ref             ClampedStencilValue in value
+       param           mask            MaskedStencilValue in value
+
+StencilFuncSeparate(frontfunc, backfunc, ref, mask)
+       return          void
+       param           frontfunc       StencilFunction in value
+       param           backfunc        StencilFunction in value
+       param           ref             ClampedStencilValue in value
+       param           mask            MaskedStencilValue in value
+
+StencilMask(mask)
+       return          void
+       param           mask            MaskedStencilValue in value
+
+StencilMaskSeparate(face, mask)
+       return          void
+       param           face            StencilFaceDirection in value
+       param           mask            MaskedStencilValue in value
+
+StencilOp(fail, zfail, zpass)
+       return          void
+       param           fail            StencilOp in value
+       param           zfail           StencilOp in value
+       param           zpass           StencilOp in value
+
+StencilOpSeparate(face, sfail, dpfail, dppass)
+       return          void
+       param           face            StencilFaceDirection in value
+       param           sfail           StencilOp in value
+       param           dpfail          StencilOp in value
+       param           dppass          StencilOp in value
+
+TexImage2D(target, level, internalformat, width, height, border, format, type, pixels)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           internalformat  TextureComponentCount in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           border          CheckedInt32 in value
+       param           format          PixelFormat in value
+       param           type            PixelType in value
+       param           pixels          Void in array [COMPSIZE(format/type/width/height)]
+
+TexParameterf(target, pname, param)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           TextureParameterName in value
+       param           param           CheckedFloat32 in value
+
+TexParameterfv(target, pname, params)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           TextureParameterName in value
+       param           params          CheckedFloat32 in array [COMPSIZE(pname)]
+
+TexParameteri(target, pname, param)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           TextureParameterName in value
+       param           param           CheckedInt32 in value
+
+TexParameteriv(target, pname, params)
+       return          void
+       param           target          TextureTarget in value
+       param           pname           TextureParameterName in value
+       param           params          CheckedInt32 in array [COMPSIZE(pname)]
+
+TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels)
+       return          void
+       param           target          TextureTarget in value
+       param           level           CheckedInt32 in value
+       param           xoffset         CheckedInt32 in value
+       param           yoffset         CheckedInt32 in value
+       param           width           SizeI in value
+       param           height          SizeI in value
+       param           format          PixelFormat in value
+       param           type            PixelType in value
+       param           pixels          Void in array [COMPSIZE(format/type/width/height)]
+
+Uniform1f(location, v0)
+       return          void
+       param           location        Int32 in value
+       param           v0              Float32 in value
+
+Uniform1fv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Float32 in array [count]
+
+Uniform1i(location, v0)
+       return          void
+       param           location        Int32 in value
+       param           v0              Int32 in value
+
+Uniform1iv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Int32 in array [count]
+
+Uniform2f(location, v0, v1)
+       return          void
+       param           location        Int32 in value
+       param           v0              Float32 in value
+       param           v1              Float32 in value
+
+Uniform2fv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Float32 in array [count]
+
+Uniform2i(location, v0, v1)
+       return          void
+       param           location        Int32 in value
+       param           v0              Int32 in value
+       param           v1              Int32 in value
+
+Uniform2iv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Int32 in array [count]
+
+Uniform3f(location, v0, v1, v2)
+       return          void
+       param           location        Int32 in value
+       param           v0              Float32 in value
+       param           v1              Float32 in value
+       param           v2              Float32 in value
+
+Uniform3fv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Float32 in array [count]
+
+Uniform3i(location, v0, v1, v2)
+       return          void
+       param           location        Int32 in value
+       param           v0              Int32 in value
+       param           v1              Int32 in value
+       param           v2              Int32 in value
+
+Uniform3iv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Int32 in array [count]
+
+Uniform4f(location, v0, v1, v2, v3)
+       return          void
+       param           location        Int32 in value
+       param           v0              Float32 in value
+       param           v1              Float32 in value
+       param           v2              Float32 in value
+       param           v3              Float32 in value
+
+Uniform4fv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Float32 in array [count]
+
+Uniform4i(location, v0, v1, v2, v3)
+       return          void
+       param           location        Int32 in value
+       param           v0              Int32 in value
+       param           v1              Int32 in value
+       param           v2              Int32 in value
+       param           v3              Int32 in value
+
+Uniform4iv(location, count, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           value           Int32 in array [count]
+
+UniformMatrix2fv(location, count, transpose, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           transpose       Boolean in value
+       param           value           Float32 in array [count]
+
+UniformMatrix3fv(location, count, transpose, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           transpose       Boolean in value
+       param           value           Float32 in array [count]
+
+UniformMatrix4fv(location, count, transpose, value)
+       return          void
+       param           location        Int32 in value
+       param           count           SizeI in value
+       param           transpose       Boolean in value
+       param           value           Float32 in array [count]
+
+UseProgram(program)
+       return          void
+       param           program         UInt32 in value
+
+ValidateProgram(program)
+       return          void
+       param           program         UInt32 in value
+
+VertexAttrib1f(index, x)
+       return          void
+       param           index           UInt32 in value
+       param           x               Float32 in value
+
+VertexAttrib1fv(index, v)
+       return          void
+       param           index           UInt32 in value
+       param           v               Float32 in array [1]
+
+VertexAttrib2f(index, x, y)
+       return          void
+       param           index           UInt32 in value
+       param           x               Float32 in value
+       param           y               Float32 in value
+
+VertexAttrib2fv(index, v)
+       return          void
+       param           index           UInt32 in value
+       param           v               Float32 in array [2]
+
+VertexAttrib3f(index, x, y, z)
+       return          void
+       param           index           UInt32 in value
+       param           x               Float32 in value
+       param           y               Float32 in value
+       param           z               Float32 in value
+
+VertexAttrib3fv(index, v)
+       return          void
+       param           index           UInt32 in value
+       param           v               Float32 in array [3]
+
+VertexAttrib4f(index, x, y, z, w)
+       return          void
+       param           index           UInt32 in value
+       param           x               Float32 in value
+       param           y               Float32 in value
+       param           z               Float32 in value
+       param           w               Float32 in value
+
+VertexAttrib4fv(index, v)
+       return          void
+       param           index           UInt32 in value
+       param           v               Float32 in array [4]
+
+VertexAttribPointer(index, size, type, normalized, stride, pointer)
+       return          void
+       param           index           UInt32 in value
+       param           size            Int32 in value
+       param           type            VertexAttribPointerTypeARB in value
+       param           normalized      Boolean in value
+       param           stride          SizeI in value
+       param           pointer         Void in array [COMPSIZE(size/type/stride)] retained
+
+Viewport(x, y, width, height)
+       return          void
+       param           x               WinCoord in value
+       param           y               WinCoord in value
+       param           width           SizeI in value
+       param           height          SizeI in value
diff --git a/flavors/gles2/gles2.tm b/flavors/gles2/gles2.tm
new file mode 100644 (file)
index 0000000..cab8550
--- /dev/null
@@ -0,0 +1,323 @@
+AccumOp,*,*,                       GLenum,*,*
+AlphaFunction,*,*,                 GLenum,*,*
+AttribMask,*,*,                            GLbitfield,*,*
+BeginMode,*,*,                     GLenum,*,*
+BinormalPointerTypeEXT,*,*,        GLenum,*,*
+BlendEquationMode,*,*,             GLenum,*,*
+BlendEquationModeEXT,*,*,          GLenum,*,*
+BlendFuncSeparateParameterEXT,*,*,  GLenum,*,*
+BlendingFactorDest,*,*,                    GLenum,*,*
+BlendingFactorSrc,*,*,             GLenum,*,*
+Boolean,*,*,                       GLboolean,*,*
+BooleanPointer,*,*,                GLboolean*,*,*
+Char,in,array,                     const GLchar *,*,value
+Char,out,array,                            GLchar *,*,value
+CharPointer,*,*,                   GLchar*,*,*
+CheckedFloat32,*,*,                GLfloat,*,*
+CheckedInt32,*,*,                  GLint,*,*
+ClampColorTargetARB,*,*,           GLenum,*,*
+ClampColorModeARB,*,*,             GLenum,*,*
+ClampedColorF,*,*,                 GLclampf,*,*
+ClampedFloat32,*,*,                GLclampf,*,*
+ClampedFloat64,*,*,                GLclampd,*,*
+ClampedStencilValue,*,*,           GLint,*,*
+ClearBufferMask,*,*,               GLbitfield,*,*
+ClientAttribMask,*,*,              GLbitfield,*,*
+ClipPlaneName,*,*,                 GLenum,*,*
+ColorB,*,*,                        GLbyte,*,*
+ColorD,*,*,                        GLdouble,*,*
+ColorF,*,*,                        GLfloat,*,*
+ColorI,*,*,                        GLint,*,*
+ColorIndexValueD,*,*,              GLdouble,*,*
+ColorIndexValueF,*,*,              GLfloat,*,*
+ColorIndexValueI,*,*,              GLint,*,*
+ColorIndexValueS,*,*,              GLshort,*,*
+ColorIndexValueUB,*,*,             GLubyte,*,*
+ColorMaterialParameter,*,*,        GLenum,*,*
+ColorPointerType,*,*,              GLenum,*,*
+ColorS,*,*,                        GLshort,*,*
+ColorTableParameterPName,*,*,      GLenum,*,*
+ColorTableParameterPNameSGI,*,*,    GLenum,*,*
+ColorTableTarget,*,*,              GLenum,*,*
+ColorTableTargetSGI,*,*,           GLenum,*,*
+ColorUB,*,*,                       GLubyte,*,*
+ColorUI,*,*,                       GLuint,*,*
+ColorUS,*,*,                       GLushort,*,*
+CombinerBiasNV,*,*,                GLenum,*,*
+CombinerComponentUsageNV,*,*,      GLenum,*,*
+CombinerMappingNV,*,*,             GLenum,*,*
+CombinerParameterNV,*,*,           GLenum,*,*
+CombinerPortionNV,*,*,             GLenum,*,*
+CombinerRegisterNV,*,*,                    GLenum,*,*
+CombinerScaleNV,*,*,               GLenum,*,*
+CombinerStageNV,*,*,               GLenum,*,*
+CombinerVariableNV,*,*,                    GLenum,*,*
+CompressedTextureARB,*,*,          GLvoid,*,*
+ControlPointNV,*,*,                GLvoid,*,*
+ControlPointTypeNV,*,*,                    GLenum,*,*
+ConvolutionParameter,*,*,          GLenum,*,*
+ConvolutionParameterEXT,*,*,       GLenum,*,*
+ConvolutionTarget,*,*,             GLenum,*,*
+ConvolutionTargetEXT,*,*,          GLenum,*,*
+CoordD,*,*,                        GLdouble,*,*
+CoordF,*,*,                        GLfloat,*,*
+CoordI,*,*,                        GLint,*,*
+CoordS,*,*,                        GLshort,*,*
+CullFaceMode,*,*,                  GLenum,*,*
+CullParameterEXT,*,*,              GLenum,*,*
+DepthFunction,*,*,                 GLenum,*,*
+DrawBufferMode,*,*,                GLenum,*,*
+DrawBufferName,*,*,                GLint,*,*
+DrawElementsType,*,*,              GLenum,*,*
+ElementPointerTypeATI,*,*,         GLenum,*,*
+EnableCap,*,*,                     GLenum,*,*
+ErrorCode,*,*,                     GLenum,*,*
+EvalMapsModeNV,*,*,                GLenum,*,*
+EvalTargetNV,*,*,                  GLenum,*,*
+FeedbackElement,*,*,               GLfloat,*,*
+FeedbackType,*,*,                  GLenum,*,*
+FenceNV,*,*,                       GLuint,*,*
+FenceConditionNV,*,*,              GLenum,*,*
+FenceParameterNameNV,*,*,          GLenum,*,*
+FfdMaskSGIX,*,*,                   GLbitfield,*,*
+FfdTargetSGIX,*,*,                 GLenum,*,*
+Float32,*,*,                       GLfloat,*,*
+Float32Pointer,*,*,                GLfloat*,*,*
+Float64,*,*,                       GLdouble,*,*
+Float64Pointer,*,*,                GLdouble*,*,*
+FogParameter,*,*,                  GLenum,*,*
+FogPointerTypeEXT,*,*,             GLenum,*,*
+FogPointerTypeIBM,*,*,             GLenum,*,*
+FragmentLightModelParameterSGIX,*,*,GLenum,*,*
+FragmentLightNameSGIX,*,*,         GLenum,*,*
+FragmentLightParameterSGIX,*,*,     GLenum,*,*
+FramebufferAttachment,*,*,         GLenum,*,*
+FramebufferTarget,*,*,             GLenum,*,*
+FrontFaceDirection,*,*,                    GLenum,*,*
+FunctionPointer,*,*,               _GLfuncptr,*,*
+GetColorTableParameterPName,*,*,    GLenum,*,*
+GetColorTableParameterPNameSGI,*,*, GLenum,*,*
+GetConvolutionParameterPName,*,*,   GLenum,*,*
+GetHistogramParameterPName,*,*,     GLenum,*,*
+GetHistogramParameterPNameEXT,*,*,  GLenum,*,*
+GetMapQuery,*,*,                   GLenum,*,*
+GetMinmaxParameterPName,*,*,       GLenum,*,*
+GetMinmaxParameterPNameEXT,*,*,     GLenum,*,*
+GetPName,*,*,                      GLenum,*,*
+GetPointervPName,*,*,              GLenum,*,*
+GetTextureParameter,*,*,           GLenum,*,*
+HintMode,*,*,                      GLenum,*,*
+HintTarget,*,*,                            GLenum,*,*
+HintTargetPGI,*,*,                 GLenum,*,*
+HistogramTarget,*,*,               GLenum,*,*
+HistogramTargetEXT,*,*,                    GLenum,*,*
+IglooFunctionSelectSGIX,*,*,       GLenum,*,*
+IglooParameterSGIX,*,*,                    GLvoid,*,*
+ImageTransformPNameHP,*,*,         GLenum,*,*
+ImageTransformTargetHP,*,*,        GLenum,*,*
+IndexFunctionEXT,*,*,              GLenum,*,*
+IndexMaterialParameterEXT,*,*,     GLenum,*,*
+IndexPointerType,*,*,              GLenum,*,*
+Int16,*,*,                         GLshort,*,*
+Int32,*,*,                         GLint,*,*
+Int8,*,*,                          GLbyte,*,*
+InterleavedArrayFormat,*,*,        GLenum,*,*
+LightEnvParameterSGIX,*,*,         GLenum,*,*
+LightModelParameter,*,*,           GLenum,*,*
+LightName,*,*,                     GLenum,*,*
+LightParameter,*,*,                GLenum,*,*
+LightTextureModeEXT,*,*,           GLenum,*,*
+LightTexturePNameEXT,*,*,          GLenum,*,*
+LineStipple,*,*,                   GLushort,*,*
+List,*,*,                          GLuint,*,*
+ListMode,*,*,                      GLenum,*,*
+ListNameType,*,*,                  GLenum,*,*
+ListParameterName,*,*,             GLenum,*,*
+LogicOp,*,*,                       GLenum,*,*
+MapAttribParameterNV,*,*,          GLenum,*,*
+MapParameterNV,*,*,                GLenum,*,*
+MapTarget,*,*,                     GLenum,*,*
+MapTargetNV,*,*,                   GLenum,*,*
+MapTypeNV,*,*,                     GLenum,*,*
+MaskedColorIndexValueF,*,*,        GLfloat,*,*
+MaskedColorIndexValueI,*,*,        GLuint,*,*
+MaskedStencilValue,*,*,                    GLuint,*,*
+MaterialFace,*,*,                  GLenum,*,*
+MaterialParameter,*,*,             GLenum,*,*
+MatrixIndexPointerTypeARB,*,*,     GLenum,*,*
+MatrixMode,*,*,                            GLenum,*,*
+MatrixTransformNV,*,*,             GLenum,*,*
+MeshMode1,*,*,                     GLenum,*,*
+MeshMode2,*,*,                     GLenum,*,*
+MinmaxTarget,*,*,                  GLenum,*,*
+MinmaxTargetEXT,*,*,               GLenum,*,*
+NormalPointerType,*,*,             GLenum,*,*
+NurbsCallback,*,*,                 GLenum,*,*
+NurbsObj,*,*,                      GLUnurbs*,*,*
+NurbsProperty,*,*,                 GLenum,*,*
+NurbsTrim,*,*,                     GLenum,*,*
+OcclusionQueryParameterNameNV,*,*,  GLenum,*,*
+PixelCopyType,*,*,                 GLenum,*,*
+PixelFormat,*,*,                   GLenum,*,*
+PixelInternalFormat,*,*,           GLenum,*,*
+PixelMap,*,*,                      GLenum,*,*
+PixelStoreParameter,*,*,           GLenum,*,*
+PixelTexGenModeSGIX,*,*,           GLenum,*,*
+PixelTexGenParameterNameSGIS,*,*,   GLenum,*,*
+PixelTransferParameter,*,*,        GLenum,*,*
+PixelTransformPNameEXT,*,*,        GLenum,*,*
+PixelTransformTargetEXT,*,*,       GLenum,*,*
+PixelType,*,*,                     GLenum,*,*
+PointParameterNameARB,*,*,         GLenum,*,*
+PolygonMode,*,*,                   GLenum,*,*
+ProgramNV,*,*,                     GLuint,*,*
+ProgramCharacterNV,*,*,                    GLubyte,*,*
+ProgramParameterNV,*,*,                    GLenum,*,*
+ProgramParameterPName,*,*,         GLenum,*,*
+QuadricCallback,*,*,               GLenum,*,*
+QuadricDrawStyle,*,*,              GLenum,*,*
+QuadricNormal,*,*,                 GLenum,*,*
+QuadricObj,*,*,                            GLUquadric*,*,*
+QuadricOrientation,*,*,                    GLenum,*,*
+ReadBufferMode,*,*,                GLenum,*,*
+RenderbufferTarget,*,*,                    GLenum,*,*
+RenderingMode,*,*,                 GLenum,*,*
+ReplacementCodeSUN,*,*,                    GLuint,*,*
+ReplacementCodeTypeSUN,*,*,        GLenum,*,*
+SamplePassARB,*,*,                 GLenum,*,*
+SamplePatternEXT,*,*,              GLenum,*,*
+SamplePatternSGIS,*,*,             GLenum,*,*
+SecondaryColorPointerTypeIBM,*,*,   GLenum,*,*
+SelectName,*,*,                            GLuint,*,*
+SeparableTarget,*,*,               GLenum,*,*
+SeparableTargetEXT,*,*,                    GLenum,*,*
+ShadingModel,*,*,                  GLenum,*,*
+SizeI,*,*,                         GLsizei,*,*
+SpriteParameterNameSGIX,*,*,       GLenum,*,*
+StencilFunction,*,*,               GLenum,*,*
+StencilFaceDirection,*,*,          GLenum,*,*
+StencilOp,*,*,                     GLenum,*,*
+StencilValue,*,*,                  GLint,*,*
+String,*,*,                        const GLubyte *,*,*
+StringName,*,*,                            GLenum,*,*
+TangentPointerTypeEXT,*,*,         GLenum,*,*
+TessCallback,*,*,                  GLenum,*,*
+TessContour,*,*,                   GLenum,*,*
+TessProperty,*,*,                  GLenum,*,*
+TesselatorObj,*,*,                 GLUtesselator*,*,*
+TexCoordPointerType,*,*,           GLenum,*,*
+Texture,*,*,                       GLuint,*,*
+TextureComponentCount,*,*,         GLint,*,*
+TextureCoordName,*,*,              GLenum,*,*
+TextureEnvParameter,*,*,           GLenum,*,*
+TextureEnvTarget,*,*,              GLenum,*,*
+TextureFilterSGIS,*,*,             GLenum,*,*
+TextureGenParameter,*,*,           GLenum,*,*
+TextureNormalModeEXT,*,*,          GLenum,*,*
+TextureParameterName,*,*,          GLenum,*,*
+TextureTarget,*,*,                 GLenum,*,*
+TextureUnit,*,*,                   GLenum,*,*
+UInt16,*,*,                        GLushort,*,*
+UInt32,*,*,                        GLuint,*,*
+UInt8,*,*,                         GLubyte,*,*
+VertexAttribEnum,*,*,              GLenum,*,*
+VertexAttribEnumNV,*,*,                    GLenum,*,*
+VertexAttribPointerTypeNV,*,*,     GLenum,*,*
+VertexPointerType,*,*,             GLenum,*,*
+VertexWeightPointerTypeEXT,*,*,     GLenum,*,*
+Void,*,*,                          GLvoid,*,*
+VoidPointer,*,*,                   GLvoid*,*,*
+ConstVoidPointer,*,*,              GLvoid* const,*,*
+WeightPointerTypeARB,*,*,          GLenum,*,*
+WinCoord,*,*,                      GLint,*,*
+void,*,*,                          *,*,*
+ArrayObjectPNameATI,*,*,           GLenum,*,*
+ArrayObjectUsageATI,*,*,           GLenum,*,*,
+ConstFloat32,*,*,                  GLfloat,*,*
+ConstInt32,*,*,                            GLint,*,*
+ConstUInt32,*,*,                   GLuint,*,*
+ConstVoid,*,*,                     GLvoid,*,*
+DataTypeEXT,*,*,                   GLenum,*,*
+FragmentOpATI,*,*,                 GLenum,*,*
+GetTexBumpParameterATI,*,*,        GLenum,*,*
+GetVariantValueEXT,*,*,                    GLenum,*,*
+ParameterRangeEXT,*,*,             GLenum,*,*
+PreserveModeATI,*,*,               GLenum,*,*
+ProgramFormatARB,*,*,              GLenum,*,*
+ProgramTargetARB,*,*,              GLenum,*,*
+ProgramTarget,*,*,                 GLenum,*,*
+ProgramPropertyARB,*,*,                    GLenum,*,*
+ProgramStringPropertyARB,*,*,      GLenum,*,*
+ScalarType,*,*,                            GLenum,*,*
+SwizzleOpATI,*,*,                  GLenum,*,*
+TexBumpParameterATI,*,*,           GLenum,*,*
+VariantCapEXT,*,*,                 GLenum,*,*
+VertexAttribPointerPropertyARB,*,*, GLenum,*,*
+VertexAttribPointerTypeARB,*,*,     GLenum,*,*
+VertexAttribPropertyARB,*,*,       GLenum,*,*
+VertexShaderCoordOutEXT,*,*,       GLenum,*,*
+VertexShaderOpEXT,*,*,             GLenum,*,*
+VertexShaderParameterEXT,*,*,      GLenum,*,*
+VertexShaderStorageTypeEXT,*,*,     GLenum,*,*
+VertexShaderTextureUnitParameter,*,*,  GLenum,*,*
+VertexShaderWriteMaskEXT,*,*,      GLenum,*,*
+VertexStreamATI,*,*,               GLenum,*,*
+PNTrianglesPNameATI,*,*,           GLenum,*,*
+# ARB_vertex_buffer_object types and core equivalents for new types
+BufferOffset,*,*,                  GLintptr,*,*
+BufferSize,*,*,                            GLsizeiptr,*,*
+BufferAccessARB,*,*,               GLenum,*,*
+BufferOffsetARB,*,*,               GLintptrARB,*,*
+BufferPNameARB,*,*,                GLenum,*,*
+BufferPointerNameARB,*,*,          GLenum,*,*
+BufferSizeARB,*,*,                 GLsizeiptrARB,*,*
+BufferTargetARB,*,*,               GLenum,*,*
+BufferUsageARB,*,*,                GLenum,*,*
+# APPLE_fence
+ObjectTypeAPPLE,*,*,               GLenum,*,*
+# APPLE_vertex_array_range
+VertexArrayPNameAPPLE,*,*,         GLenum,*,*
+# ATI_draw_buffers
+DrawBufferModeATI,*,*,             GLenum,*,*
+# NV_half
+Half16NV,*,*,                      GLhalfNV,*,*
+# NV_pixel_data_range
+PixelDataRangeTargetNV,*,*,        GLenum,*,*
+# Generic types for as-yet-unspecified enums
+TypeEnum,*,*,                      GLenum,*,*
+GLbitfield,*,*,                            GLbitfield,*,*
+GLenum,*,*,                        GLenum,*,*
+Int64,*,*,                         GLint64,*,*
+UInt64,*,*,                        GLuint64,*,*
+# Object handle & data pointers
+handleARB,*,*,                     GLhandleARB,*,*
+charARB,*,array,                   GLcharARB *,*,value
+charPointerARB,*,*,                GLcharARB*,*,*
+sync,*,*,                          GLsync,*,*,
+# EXT_timer_query
+Int64EXT,*,*,                      GLint64EXT,*,*
+UInt64EXT,*,*,                     GLuint64EXT,*,*
+# EXT_direct_state_access
+FramebufferAttachment,*,*,         GLenum,*,*
+FramebufferAttachmentParameterName,*,*, GLenum,*,*
+Framebuffer,*,*,                   GLuint,*,*
+FramebufferStatus,*,*,             GLenum,*,*
+FramebufferTarget,*,*,             GLenum,*,*
+GetFramebufferParameter,*,*,       GLenum,*,*
+Intptr,*,*,                        GLintptr,*,*
+ProgramFormat,*,*,                 GLenum,*,*
+ProgramProperty,*,*,               GLenum,*,*
+ProgramStringProperty,*,*,         GLenum,*,*
+ProgramTarget,*,*,                 GLenum,*,*
+Renderbuffer,*,*,                  GLuint,*,*
+RenderbufferParameterName,*,*,     GLenum,*,*
+Sizeiptr,*,*,                      GLsizeiptr,*,*
+TextureInternalFormat,*,*,         GLenum,*,*
+VertexBufferObjectAccess,*,*,      GLenum,*,*
+VertexBufferObjectParameter,*,*,    GLenum,*,*
+VertexBufferObjectUsage,*,*,       GLenum,*,*
+# ARB_map_buffer_range
+BufferAccessMask,*,*,              GLbitfield,*,*
+# NV_explicit_multisample
+GetMultisamplePNameNV,*,*,         GLenum,*,*
+SampleMaskNV,*,*,                  GLbitfield,*,*
diff --git a/flavors/gles2/gles2enum.spec b/flavors/gles2/gles2enum.spec
new file mode 100644 (file)
index 0000000..7367510
--- /dev/null
@@ -0,0 +1,304 @@
+GLES2 enum:\r
+       ES_VERSION_2_0                = 1\r
+       DEPTH_BUFFER_BIT              = 0x00000100\r
+       STENCIL_BUFFER_BIT            = 0x00000400\r
+       COLOR_BUFFER_BIT              = 0x00004000\r
+       FALSE                         = 0\r
+       TRUE                          = 1\r
+       POINTS                        = 0x0000\r
+       LINES                         = 0x0001\r
+       LINE_LOOP                     = 0x0002\r
+       LINE_STRIP                    = 0x0003\r
+       TRIANGLES                     = 0x0004\r
+       TRIANGLE_STRIP                = 0x0005\r
+       TRIANGLE_FAN                  = 0x0006\r
+       ZERO                          = 0\r
+       ONE                           = 1\r
+       SRC_COLOR                     = 0x0300\r
+       ONE_MINUS_SRC_COLOR           = 0x0301\r
+       SRC_ALPHA                     = 0x0302\r
+       ONE_MINUS_SRC_ALPHA           = 0x0303\r
+       DST_ALPHA                     = 0x0304\r
+       ONE_MINUS_DST_ALPHA           = 0x0305\r
+       DST_COLOR                     = 0x0306\r
+       ONE_MINUS_DST_COLOR           = 0x0307\r
+       SRC_ALPHA_SATURATE            = 0x0308\r
+       FUNC_ADD                      = 0x8006\r
+       BLEND_EQUATION                = 0x8009\r
+       BLEND_EQUATION_RGB            = 0x8009    /* same as BLEND_EQUATION */\r
+       BLEND_EQUATION_ALPHA          = 0x883D\r
+       FUNC_SUBTRACT                 = 0x800A\r
+       FUNC_REVERSE_SUBTRACT         = 0x800B\r
+       BLEND_DST_RGB                 = 0x80C8\r
+       BLEND_SRC_RGB                 = 0x80C9\r
+       BLEND_DST_ALPHA               = 0x80CA\r
+       BLEND_SRC_ALPHA               = 0x80CB\r
+       CONSTANT_COLOR                = 0x8001\r
+       ONE_MINUS_CONSTANT_COLOR      = 0x8002\r
+       CONSTANT_ALPHA                = 0x8003\r
+       ONE_MINUS_CONSTANT_ALPHA      = 0x8004\r
+       BLEND_COLOR                   = 0x8005\r
+       ARRAY_BUFFER                  = 0x8892\r
+       ELEMENT_ARRAY_BUFFER          = 0x8893\r
+       ARRAY_BUFFER_BINDING          = 0x8894\r
+       ELEMENT_ARRAY_BUFFER_BINDING  = 0x8895\r
+       STREAM_DRAW                   = 0x88E0\r
+       STATIC_DRAW                   = 0x88E4\r
+       DYNAMIC_DRAW                  = 0x88E8\r
+       BUFFER_SIZE                   = 0x8764\r
+       BUFFER_USAGE                  = 0x8765\r
+       CURRENT_VERTEX_ATTRIB         = 0x8626\r
+       FRONT                         = 0x0404\r
+       BACK                          = 0x0405\r
+       FRONT_AND_BACK                = 0x0408\r
+       TEXTURE_2D                    = 0x0DE1\r
+       CULL_FACE                     = 0x0B44\r
+       BLEND                         = 0x0BE2\r
+       DITHER                        = 0x0BD0\r
+       STENCIL_TEST                  = 0x0B90\r
+       DEPTH_TEST                    = 0x0B71\r
+       SCISSOR_TEST                  = 0x0C11\r
+       POLYGON_OFFSET_FILL           = 0x8037\r
+       SAMPLE_ALPHA_TO_COVERAGE      = 0x809E\r
+       SAMPLE_COVERAGE               = 0x80A0\r
+       NO_ERROR                      = 0\r
+       INVALID_ENUM                  = 0x0500\r
+       INVALID_VALUE                 = 0x0501\r
+       INVALID_OPERATION             = 0x0502\r
+       OUT_OF_MEMORY                 = 0x0505\r
+       CW                            = 0x0900\r
+       CCW                           = 0x0901\r
+       LINE_WIDTH                    = 0x0B21\r
+       ALIASED_POINT_SIZE_RANGE      = 0x846D\r
+       ALIASED_LINE_WIDTH_RANGE      = 0x846E\r
+       CULL_FACE_MODE                = 0x0B45\r
+       FRONT_FACE                    = 0x0B46\r
+       DEPTH_RANGE                   = 0x0B70\r
+       DEPTH_WRITEMASK               = 0x0B72\r
+       DEPTH_CLEAR_VALUE             = 0x0B73\r
+       DEPTH_FUNC                    = 0x0B74\r
+       STENCIL_CLEAR_VALUE           = 0x0B91\r
+       STENCIL_FUNC                  = 0x0B92\r
+       STENCIL_FAIL                  = 0x0B94\r
+       STENCIL_PASS_DEPTH_FAIL       = 0x0B95\r
+       STENCIL_PASS_DEPTH_PASS       = 0x0B96\r
+       STENCIL_REF                   = 0x0B97\r
+       STENCIL_VALUE_MASK            = 0x0B93\r
+       STENCIL_WRITEMASK             = 0x0B98\r
+       STENCIL_BACK_FUNC             = 0x8800\r
+       STENCIL_BACK_FAIL             = 0x8801\r
+       STENCIL_BACK_PASS_DEPTH_FAIL  = 0x8802\r
+       STENCIL_BACK_PASS_DEPTH_PASS  = 0x8803\r
+       STENCIL_BACK_REF              = 0x8CA3\r
+       STENCIL_BACK_VALUE_MASK       = 0x8CA4\r
+       STENCIL_BACK_WRITEMASK        = 0x8CA5\r
+       VIEWPORT                      = 0x0BA2\r
+       SCISSOR_BOX                   = 0x0C10\r
+       COLOR_CLEAR_VALUE             = 0x0C22\r
+       COLOR_WRITEMASK               = 0x0C23\r
+       UNPACK_ALIGNMENT              = 0x0CF5\r
+       PACK_ALIGNMENT                = 0x0D05\r
+       MAX_TEXTURE_SIZE              = 0x0D33\r
+       MAX_VIEWPORT_DIMS             = 0x0D3A\r
+       SUBPIXEL_BITS                 = 0x0D50\r
+       RED_BITS                      = 0x0D52\r
+       GREEN_BITS                    = 0x0D53\r
+       BLUE_BITS                     = 0x0D54\r
+       ALPHA_BITS                    = 0x0D55\r
+       DEPTH_BITS                    = 0x0D56\r
+       STENCIL_BITS                  = 0x0D57\r
+       POLYGON_OFFSET_UNITS          = 0x2A00\r
+       POLYGON_OFFSET_FACTOR         = 0x8038\r
+       TEXTURE_BINDING_2D            = 0x8069\r
+       SAMPLE_BUFFERS                = 0x80A8\r
+       SAMPLES                       = 0x80A9\r
+       SAMPLE_COVERAGE_VALUE         = 0x80AA\r
+       SAMPLE_COVERAGE_INVERT        = 0x80AB\r
+       NUM_COMPRESSED_TEXTURE_FORMATS= 0x86A2\r
+       COMPRESSED_TEXTURE_FORMATS    = 0x86A3\r
+       DONT_CARE                     = 0x1100\r
+       FASTEST                       = 0x1101\r
+       NICEST                        = 0x1102\r
+       GENERATE_MIPMAP_HINT           = 0x8192\r
+       BYTE                          = 0x1400\r
+       UNSIGNED_BYTE                 = 0x1401\r
+       SHORT                         = 0x1402\r
+       UNSIGNED_SHORT                = 0x1403\r
+       INT                           = 0x1404\r
+       UNSIGNED_INT                  = 0x1405\r
+       FLOAT                         = 0x1406\r
+       FIXED                         = 0x140C\r
+       DEPTH_COMPONENT               = 0x1902\r
+       ALPHA                         = 0x1906\r
+       RGB                           = 0x1907\r
+       RGBA                          = 0x1908\r
+       LUMINANCE                     = 0x1909\r
+       LUMINANCE_ALPHA               = 0x190A\r
+       UNSIGNED_SHORT_4_4_4_4        = 0x8033\r
+       UNSIGNED_SHORT_5_5_5_1        = 0x8034\r
+       UNSIGNED_SHORT_5_6_5          = 0x8363\r
+       FRAGMENT_SHADER                 = 0x8B30\r
+       VERTEX_SHADER                   = 0x8B31\r
+       MAX_VERTEX_ATTRIBS              = 0x8869\r
+       MAX_VERTEX_UNIFORM_VECTORS      = 0x8DFB\r
+       MAX_VARYING_VECTORS             = 0x8DFC\r
+       MAX_COMBINED_TEXTURE_IMAGE_UNITS= 0x8B4D\r
+       MAX_VERTEX_TEXTURE_IMAGE_UNITS  = 0x8B4C\r
+       MAX_TEXTURE_IMAGE_UNITS         = 0x8872\r
+       MAX_FRAGMENT_UNIFORM_VECTORS    = 0x8DFD\r
+       SHADER_TYPE                     = 0x8B4F\r
+       DELETE_STATUS                   = 0x8B80\r
+       LINK_STATUS                     = 0x8B82\r
+       VALIDATE_STATUS                 = 0x8B83\r
+       ATTACHED_SHADERS                = 0x8B85\r
+       ACTIVE_UNIFORMS                 = 0x8B86\r
+       ACTIVE_UNIFORM_MAX_LENGTH       = 0x8B87\r
+       ACTIVE_ATTRIBUTES               = 0x8B89\r
+       ACTIVE_ATTRIBUTE_MAX_LENGTH     = 0x8B8A\r
+       SHADING_LANGUAGE_VERSION        = 0x8B8C\r
+       CURRENT_PROGRAM                 = 0x8B8D\r
+       NEVER                         = 0x0200\r
+       LESS                          = 0x0201\r
+       EQUAL                         = 0x0202\r
+       LEQUAL                        = 0x0203\r
+       GREATER                       = 0x0204\r
+       NOTEQUAL                      = 0x0205\r
+       GEQUAL                        = 0x0206\r
+       ALWAYS                        = 0x0207\r
+       KEEP                          = 0x1E00\r
+       REPLACE                       = 0x1E01\r
+       INCR                          = 0x1E02\r
+       DECR                          = 0x1E03\r
+       INVERT                        = 0x150A\r
+       INCR_WRAP                     = 0x8507\r
+       DECR_WRAP                     = 0x8508\r
+       VENDOR                        = 0x1F00\r
+       RENDERER                      = 0x1F01\r
+       VERSION                       = 0x1F02\r
+       EXTENSIONS                    = 0x1F03\r
+       NEAREST                       = 0x2600\r
+       LINEAR                        = 0x2601\r
+       NEAREST_MIPMAP_NEAREST        = 0x2700\r
+       LINEAR_MIPMAP_NEAREST         = 0x2701\r
+       NEAREST_MIPMAP_LINEAR         = 0x2702\r
+       LINEAR_MIPMAP_LINEAR          = 0x2703\r
+       TEXTURE_MAG_FILTER            = 0x2800\r
+       TEXTURE_MIN_FILTER            = 0x2801\r
+       TEXTURE_WRAP_S                = 0x2802\r
+       TEXTURE_WRAP_T                = 0x2803\r
+       TEXTURE                       = 0x1702\r
+       TEXTURE_CUBE_MAP              = 0x8513\r
+       TEXTURE_BINDING_CUBE_MAP      = 0x8514\r
+       TEXTURE_CUBE_MAP_POSITIVE_X   = 0x8515\r
+       TEXTURE_CUBE_MAP_NEGATIVE_X   = 0x8516\r
+       TEXTURE_CUBE_MAP_POSITIVE_Y   = 0x8517\r
+       TEXTURE_CUBE_MAP_NEGATIVE_Y   = 0x8518\r
+       TEXTURE_CUBE_MAP_POSITIVE_Z   = 0x8519\r
+       TEXTURE_CUBE_MAP_NEGATIVE_Z   = 0x851A\r
+       MAX_CUBE_MAP_TEXTURE_SIZE     = 0x851C\r
+       TEXTURE0                      = 0x84C0\r
+       TEXTURE1                      = 0x84C1\r
+       TEXTURE2                      = 0x84C2\r
+       TEXTURE3                      = 0x84C3\r
+       TEXTURE4                      = 0x84C4\r
+       TEXTURE5                      = 0x84C5\r
+       TEXTURE6                      = 0x84C6\r
+       TEXTURE7                      = 0x84C7\r
+       TEXTURE8                      = 0x84C8\r
+       TEXTURE9                      = 0x84C9\r
+       TEXTURE10                     = 0x84CA\r
+       TEXTURE11                     = 0x84CB\r
+       TEXTURE12                     = 0x84CC\r
+       TEXTURE13                     = 0x84CD\r
+       TEXTURE14                     = 0x84CE\r
+       TEXTURE15                     = 0x84CF\r
+       TEXTURE16                     = 0x84D0\r
+       TEXTURE17                     = 0x84D1\r
+       TEXTURE18                     = 0x84D2\r
+       TEXTURE19                     = 0x84D3\r
+       TEXTURE20                     = 0x84D4\r
+       TEXTURE21                     = 0x84D5\r
+       TEXTURE22                     = 0x84D6\r
+       TEXTURE23                     = 0x84D7\r
+       TEXTURE24                     = 0x84D8\r
+       TEXTURE25                     = 0x84D9\r
+       TEXTURE26                     = 0x84DA\r
+       TEXTURE27                     = 0x84DB\r
+       TEXTURE28                     = 0x84DC\r
+       TEXTURE29                     = 0x84DD\r
+       TEXTURE30                     = 0x84DE\r
+       TEXTURE31                     = 0x84DF\r
+       ACTIVE_TEXTURE                = 0x84E0\r
+       REPEAT                        = 0x2901\r
+       CLAMP_TO_EDGE                 = 0x812F\r
+       MIRRORED_REPEAT               = 0x8370\r
+       FLOAT_VEC2                    = 0x8B50\r
+       FLOAT_VEC3                    = 0x8B51\r
+       FLOAT_VEC4                    = 0x8B52\r
+       INT_VEC2                      = 0x8B53\r
+       INT_VEC3                      = 0x8B54\r
+       INT_VEC4                      = 0x8B55\r
+       BOOL                          = 0x8B56\r
+       BOOL_VEC2                     = 0x8B57\r
+       BOOL_VEC3                     = 0x8B58\r
+       BOOL_VEC4                     = 0x8B59\r
+       FLOAT_MAT2                    = 0x8B5A\r
+       FLOAT_MAT3                    = 0x8B5B\r
+       FLOAT_MAT4                    = 0x8B5C\r
+       SAMPLER_2D                    = 0x8B5E\r
+       SAMPLER_CUBE                  = 0x8B60\r
+       VERTEX_ATTRIB_ARRAY_ENABLED       = 0x8622\r
+       VERTEX_ATTRIB_ARRAY_SIZE          = 0x8623\r
+       VERTEX_ATTRIB_ARRAY_STRIDE        = 0x8624\r
+       VERTEX_ATTRIB_ARRAY_TYPE          = 0x8625\r
+       VERTEX_ATTRIB_ARRAY_NORMALIZED    = 0x886A\r
+       VERTEX_ATTRIB_ARRAY_POINTER       = 0x8645\r
+       VERTEX_ATTRIB_ARRAY_BUFFER_BINDING= 0x889F\r
+       IMPLEMENTATION_COLOR_READ_TYPE  = 0x8B9A\r
+       IMPLEMENTATION_COLOR_READ_FORMAT= 0x8B9B\r
+       COMPILE_STATUS                = 0x8B81\r
+       INFO_LOG_LENGTH               = 0x8B84\r
+       SHADER_SOURCE_LENGTH          = 0x8B88\r
+       SHADER_COMPILER               = 0x8DFA\r
+       SHADER_BINARY_FORMATS         = 0x8DF8\r
+       NUM_SHADER_BINARY_FORMATS     = 0x8DF9\r
+       LOW_FLOAT                     = 0x8DF0\r
+       MEDIUM_FLOAT                  = 0x8DF1\r
+       HIGH_FLOAT                    = 0x8DF2\r
+       LOW_INT                       = 0x8DF3\r
+       MEDIUM_INT                    = 0x8DF4\r
+       HIGH_INT                      = 0x8DF5\r
+       FRAMEBUFFER                   = 0x8D40\r
+       RENDERBUFFER                  = 0x8D41\r
+       RGBA4                         = 0x8056\r
+       RGB5_A1                       = 0x8057\r
+       RGB565                        = 0x8D62\r
+       DEPTH_COMPONENT16             = 0x81A5\r
+       STENCIL_INDEX                 = 0x1901\r
+       STENCIL_INDEX8                = 0x8D48\r
+       RENDERBUFFER_WIDTH            = 0x8D42\r
+       RENDERBUFFER_HEIGHT           = 0x8D43\r
+       RENDERBUFFER_INTERNAL_FORMAT  = 0x8D44\r
+       RENDERBUFFER_RED_SIZE         = 0x8D50\r
+       RENDERBUFFER_GREEN_SIZE       = 0x8D51\r
+       RENDERBUFFER_BLUE_SIZE        = 0x8D52\r
+       RENDERBUFFER_ALPHA_SIZE       = 0x8D53\r
+       RENDERBUFFER_DEPTH_SIZE       = 0x8D54\r
+       RENDERBUFFER_STENCIL_SIZE     = 0x8D55\r
+       FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE          = 0x8CD0\r
+       FRAMEBUFFER_ATTACHMENT_OBJECT_NAME          = 0x8CD1\r
+       FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL        = 0x8CD2\r
+       FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE= 0x8CD3\r
+       COLOR_ATTACHMENT0             = 0x8CE0\r
+       DEPTH_ATTACHMENT              = 0x8D00\r
+       STENCIL_ATTACHMENT            = 0x8D20\r
+       NONE                          = 0\r
+       FRAMEBUFFER_COMPLETE                     = 0x8CD5\r
+       FRAMEBUFFER_INCOMPLETE_ATTACHMENT        = 0x8CD6\r
+       FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT= 0x8CD7\r
+       FRAMEBUFFER_INCOMPLETE_DIMENSIONS        = 0x8CD9\r
+       FRAMEBUFFER_UNSUPPORTED                  = 0x8CDD\r
+       FRAMEBUFFER_BINDING           = 0x8CA6\r
+       RENDERBUFFER_BINDING          = 0x8CA7\r
+       MAX_RENDERBUFFER_SIZE         = 0x84E8\r
+       INVALID_FRAMEBUFFER_OPERATION = 0x0506\r
diff --git a/flavors/gles2/source/arraysize.c b/flavors/gles2/source/arraysize.c
new file mode 100644 (file)
index 0000000..076347f
--- /dev/null
@@ -0,0 +1,57 @@
+/* $Id$
+
+This file is part of gldbg
+Copyright © 2010  Mikko Rasa, Mikkosoft Productions
+Distributed under the GPL
+*/
+
+#include "arraysize.h"
+
+int typesize(GLenum type)
+{
+       switch(type)
+       {
+       case GL_BYTE: return sizeof(GLbyte);
+       case GL_SHORT: return sizeof(GLshort);
+       case GL_INT: return sizeof(GLint);
+       case GL_UNSIGNED_BYTE: return sizeof(GLubyte);
+       case GL_UNSIGNED_SHORT: return sizeof(GLushort);
+       case GL_UNSIGNED_INT: return sizeof(GLuint);
+       case GL_FLOAT: return sizeof(GLfloat);
+       // Short and byte packed types are broken
+       default: return 1;
+       }
+}
+
+int formatsize(GLenum format)
+{
+       switch(format)
+       {
+       case GL_STENCIL_INDEX: return 1;
+       case GL_DEPTH_COMPONENT: return 1;
+       case GL_ALPHA: return 1;
+       case GL_RGB: return 3;
+       case GL_RGBA: return 4;
+       case GL_LUMINANCE: return 1;
+       case GL_LUMINANCE_ALPHA: return 2;
+       default: return 1;
+       }
+}
+
+int paramsize(GLenum pname)
+{
+       switch(pname)
+       {
+       // Texture
+       case GL_TEXTURE_WRAP_S: return 1;
+       case GL_TEXTURE_WRAP_T: return 1;
+       case GL_TEXTURE_MIN_FILTER: return 1;
+       case GL_TEXTURE_MAG_FILTER: return 1;
+       default: return 1;
+       }
+}
+
+int buffersize(GLenum buffer)
+{
+       return 1;
+}
diff --git a/flavors/gles2/source/glwrap_funcs.c b/flavors/gles2/source/glwrap_funcs.c
new file mode 100644 (file)
index 0000000..c647753
--- /dev/null
@@ -0,0 +1,67 @@
+/* $Id$
+
+This file is part of gldbg
+Copyright © 2010  Mikko Rasa, Mikkosoft Productions
+Distributed under the GPL
+*/
+
+#include <dlfcn.h>
+#include "arraysize.h"
+#include "functions.h"
+#include "glwrap.h"
+#include "opengl.h"
+
+GLenum cur_error = GL_NO_ERROR;
+
+static void check_error()
+{
+       GLenum (*orig_glGetError)() = 0;
+       GLenum code;
+
+       if(!orig_glGetError)
+               orig_glGetError = glsym("glGetError");
+
+       code = orig_glGetError();
+       if(code!=GL_NO_ERROR)
+       {
+               begin_packet(FUNC_GLDERROR);
+               write_int(code);
+               send_packet();
+
+               if(cur_error==GL_NO_ERROR)
+                       cur_error = code;
+       }
+}
+
+GLenum APIENTRY glGetError()
+{
+       GLenum ret = cur_error;
+       cur_error = GL_NO_ERROR;
+
+       begin_packet(FUNC_GLGETERROR);
+       write_int(ret);
+       send_packet();
+
+       return ret;
+}
+
+void (*eglGetProcAddress(const char *procname))(void)
+{
+       void *handle = 0;
+       void (*ret)() = 0;
+
+       if(glsym((const char *)procname))
+       {
+               handle = dlopen(NULL, RTLD_LAZY);
+               ret = dlsym(handle, (const char *)procname);
+       }
+
+       begin_packet(FUNC_EGLGETPROCADDRESS);
+       write_pointer(ret);
+       write_string((const char *)procname);
+       send_packet();
+
+       return ret;
+}
+
+#include "gensrc/glwrap.funcs"
diff --git a/flavors/gles2/source/opengl.h b/flavors/gles2/source/opengl.h
new file mode 100644 (file)
index 0000000..85bd081
--- /dev/null
@@ -0,0 +1,9 @@
+/* $Id$
+
+This file is part of gldbg
+Copyright © 2010  Mikko Rasa, Mikkosoft Productions
+Distributed under the GPL
+*/
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
index 17e711b870124d46244a37789995d955384dddf4..6770ec780c7a169e661c0b0f3197a246e2ce83a9 100644 (file)
@@ -4,6 +4,7 @@
 !handcode glGetError
 !handcode glXGetProcAddress
 !handcode glXGetProcAddressARB
+!handcode eglGetProcAddress
 wl('%s APIENTRY %s(%s)', ret.ctype, func.name, ", ".join([p.ctype+" "+p.name for p in params]))
 wl('{')
 wl('   static %s (*orig)(%s);', ret.ctype, ", ".join([p.ctype for p in params]))