Home | History | Annotate | Download | only in GLcommon
      1 /*
      2 * Copyright 2011 The Android Open Source Project
      3 *
      4 * Licensed under the Apache License, Version 2.0 (the "License");
      5 * you may not use this file except in compliance with the License.
      6 * You may obtain a copy of the License at
      7 *
      8 * http://www.apache.org/licenses/LICENSE-2.0
      9 *
     10 * Unless required by applicable law or agreed to in writing, software
     11 * distributed under the License is distributed on an "AS IS" BASIS,
     12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13 * See the License for the specific language governing permissions and
     14 * limitations under the License.
     15 */
     16 
     17 #include "DummyGLfuncs.h"
     18 
     19     void GLAPIENTRY dummy_glActiveTexture ( GLenum texture ){}
     20     void GLAPIENTRY dummy_glBindBuffer (GLenum target, GLuint buffer){}
     21     void GLAPIENTRY dummy_glBindTexture (GLenum target, GLuint texture){}
     22     void GLAPIENTRY dummy_glBlendFunc (GLenum sfactor, GLenum dfactor){}
     23     void GLAPIENTRY dummy_glBlendEquation( GLenum mode ){}
     24     void GLAPIENTRY dummy_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha){}
     25     void GLAPIENTRY dummy_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha){}
     26     void GLAPIENTRY dummy_glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage){}
     27     void GLAPIENTRY dummy_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data){}
     28     void GLAPIENTRY dummy_glClear(GLbitfield mask){}
     29     void GLAPIENTRY dummy_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha){}
     30     void GLAPIENTRY dummy_glClearStencil(GLint s){}
     31     void GLAPIENTRY dummy_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha){}
     32     void GLAPIENTRY dummy_glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ){}
     33     void GLAPIENTRY dummy_glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ){}
     34     void GLAPIENTRY dummy_glCopyTexImage2D(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border){}
     35     void GLAPIENTRY dummy_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height){}
     36     void GLAPIENTRY dummy_glCullFace(GLenum mode){}
     37     void GLAPIENTRY dummy_glDeleteBuffers(GLsizei n, const GLuint *buffers){}
     38     void GLAPIENTRY dummy_glDeleteTextures(GLsizei n, const GLuint *textures){}
     39     void GLAPIENTRY dummy_glDepthFunc(GLenum func){}
     40     void GLAPIENTRY dummy_glDepthMask(GLboolean flag){}
     41     void GLAPIENTRY dummy_glDepthRange(GLclampd zNear, GLclampd zFar){}
     42     void GLAPIENTRY dummy_glDisable(GLenum cap){}
     43     void GLAPIENTRY dummy_glDrawArrays(GLenum mode, GLint first, GLsizei count){}
     44     void GLAPIENTRY dummy_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices){}
     45     void GLAPIENTRY dummy_glEnable(GLenum cap){}
     46     void GLAPIENTRY dummy_glFinish(void){}
     47     void GLAPIENTRY dummy_glFlush(void){}
     48     void GLAPIENTRY dummy_glFrontFace(GLenum mode){}
     49     void GLAPIENTRY dummy_glGenBuffers(GLsizei n, GLuint *buffers){}
     50     void GLAPIENTRY dummy_glGenTextures(GLsizei n, GLuint *textures){}
     51     void GLAPIENTRY dummy_glGetBooleanv(GLenum pname, GLboolean *params){}
     52     void GLAPIENTRY dummy_glGetBufferParameteriv(GLenum, GLenum, GLint *){}
     53     GLenum GLAPIENTRY dummy_glGetError(void){ return 0;}
     54     void GLAPIENTRY dummy_glGetFloatv(GLenum pname, GLfloat *params){}
     55     void GLAPIENTRY dummy_glGetIntegerv(GLenum pname, GLint *params){}
     56     const GLubyte * GLAPIENTRY dummy_glGetString(GLenum name){ return 0;}
     57     void GLAPIENTRY dummy_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params){}
     58     void GLAPIENTRY dummy_glGetTexParameteriv(GLenum target, GLenum pname, GLint *params){}
     59     void GLAPIENTRY dummy_glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params){}
     60     void GLAPIENTRY dummy_glHint(GLenum target, GLenum mode){}
     61     GLboolean GLAPIENTRY dummy_glIsBuffer(GLuint){ return false;}
     62     GLboolean GLAPIENTRY dummy_glIsEnabled(GLenum cap){ return false;}
     63     GLboolean GLAPIENTRY dummy_glIsTexture(GLuint texture){return false;}
     64     void GLAPIENTRY dummy_glLineWidth(GLfloat width){}
     65     void GLAPIENTRY dummy_glPolygonOffset(GLfloat factor, GLfloat units){}
     66     void GLAPIENTRY dummy_glPixelStorei(GLenum pname, GLint param){}
     67     void GLAPIENTRY dummy_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels){}
     68     void GLAPIENTRY dummy_glSampleCoverage(GLclampf value, GLboolean invert ){}
     69     void GLAPIENTRY dummy_glScissor(GLint x, GLint y, GLsizei width, GLsizei height){}
     70     void GLAPIENTRY dummy_glStencilFunc(GLenum func, GLint ref, GLuint mask){}
     71     void GLAPIENTRY dummy_glStencilMask(GLuint mask){}
     72     void GLAPIENTRY dummy_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass){}
     73     void GLAPIENTRY dummy_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels){}
     74     void GLAPIENTRY dummy_glTexParameteri(GLenum target, GLenum pname, GLint param){}
     75     void GLAPIENTRY dummy_glTexParameteriv(GLenum target, GLenum pname, const GLint *params){}
     76     void GLAPIENTRY dummy_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels){}
     77     void GLAPIENTRY dummy_glViewport(GLint x, GLint y, GLsizei width, GLsizei height){}
     78     void GLAPIENTRY dummy_glPushAttrib( GLbitfield mask ){}
     79     void GLAPIENTRY dummy_glPopAttrib( void ){}
     80     void GLAPIENTRY dummy_glPushClientAttrib( GLbitfield mask ){}
     81     void GLAPIENTRY dummy_glPopClientAttrib( void ){}
     82 
     83     /* OpenGL functions which are needed ONLY for implementing GLES 1.1*/
     84     void GLAPIENTRY dummy_glAlphaFunc(GLenum func, GLclampf ref){}
     85     void GLAPIENTRY dummy_glBegin( GLenum mode ){}
     86     void GLAPIENTRY dummy_glClearDepth(GLclampd depth){}
     87     void GLAPIENTRY dummy_glClientActiveTexture( GLenum texture ){}
     88     void GLAPIENTRY dummy_glClipPlane(GLenum plane, const GLdouble *equation){}
     89     void GLAPIENTRY dummy_glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha){}
     90     void GLAPIENTRY dummy_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha){}
     91     void GLAPIENTRY dummy_glColor4fv( const GLfloat *v ){}
     92     void GLAPIENTRY dummy_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha){}
     93     void GLAPIENTRY dummy_glColor4ubv( const GLubyte *v ){}
     94     void GLAPIENTRY dummy_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer){}
     95     void GLAPIENTRY dummy_glDisableClientState(GLenum array){}
     96     void GLAPIENTRY dummy_glEnableClientState(GLenum array){}
     97     void GLAPIENTRY dummy_glEnd(void){}
     98     void GLAPIENTRY dummy_glFogf(GLenum pname, GLfloat param){}
     99     void GLAPIENTRY dummy_glFogfv(GLenum pname, const GLfloat *params){}
    100     void GLAPIENTRY dummy_glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar){}
    101     void GLAPIENTRY dummy_glGetClipPlane(GLenum plane, GLdouble *equation){}
    102     void GLAPIENTRY dummy_glGetDoublev( GLenum pname, GLdouble *params ){}
    103     void GLAPIENTRY dummy_glGetLightfv(GLenum light, GLenum pname, GLfloat *params){}
    104     void GLAPIENTRY dummy_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params){}
    105     void GLAPIENTRY dummy_glGetPointerv(GLenum pname, GLvoid* *params){}
    106     void GLAPIENTRY dummy_glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params){}
    107     void GLAPIENTRY dummy_glGetTexEnviv(GLenum target, GLenum pname, GLint *params){}
    108     void GLAPIENTRY dummy_glLightf(GLenum light, GLenum pname, GLfloat param){}
    109     void GLAPIENTRY dummy_glLightfv(GLenum light, GLenum pname, const GLfloat *params){}
    110     void GLAPIENTRY dummy_glLightModelf(GLenum pname, GLfloat param){}
    111     void GLAPIENTRY dummy_glLightModelfv(GLenum pname, const GLfloat *params){}
    112     void GLAPIENTRY dummy_glLoadIdentity(void){}
    113     void GLAPIENTRY dummy_glLoadMatrixf(const GLfloat *m){}
    114     void GLAPIENTRY dummy_glLogicOp(GLenum opcode){}
    115     void GLAPIENTRY dummy_glMaterialf(GLenum face, GLenum pname, GLfloat param){}
    116     void GLAPIENTRY dummy_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params){}
    117     void GLAPIENTRY dummy_glMultiTexCoord2fv( GLenum target, const GLfloat *v ){}
    118     void GLAPIENTRY dummy_glMultiTexCoord2sv( GLenum target, const GLshort *v ){}
    119     void GLAPIENTRY dummy_glMultiTexCoord3fv( GLenum target, const GLfloat *v ){}
    120     void GLAPIENTRY dummy_glMultiTexCoord3sv( GLenum target, const GLshort *v ){}
    121     void GLAPIENTRY dummy_glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ){}
    122     void GLAPIENTRY dummy_glMultiTexCoord4fv( GLenum target, const GLfloat *v ){}
    123     void GLAPIENTRY dummy_glMultiTexCoord4sv( GLenum target, const GLshort *v ){}
    124     void GLAPIENTRY dummy_glMultMatrixf(const GLfloat *m){}
    125     void GLAPIENTRY dummy_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz){}
    126     void GLAPIENTRY dummy_glNormal3fv( const GLfloat *v ){}
    127     void GLAPIENTRY dummy_glNormal3sv(const GLshort *v ){}
    128     void GLAPIENTRY dummy_glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar){}
    129     void GLAPIENTRY dummy_glPointParameterf(GLenum, GLfloat){}
    130     void GLAPIENTRY dummy_glPointParameterfv(GLenum, const GLfloat *){}
    131     void GLAPIENTRY dummy_glPointSize(GLfloat size){}
    132     void GLAPIENTRY dummy_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z){}
    133     void GLAPIENTRY dummy_glScalef(GLfloat x, GLfloat y, GLfloat z){}
    134     void GLAPIENTRY dummy_glTexEnvf(GLenum target, GLenum pname, GLfloat param){}
    135     void GLAPIENTRY dummy_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params){}
    136     void GLAPIENTRY dummy_glTexParameterf(GLenum target, GLenum pname, GLfloat param){}
    137     void GLAPIENTRY dummy_glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params){}
    138     void GLAPIENTRY dummy_glMatrixMode(GLenum mode){}
    139     void GLAPIENTRY dummy_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer){}
    140     void GLAPIENTRY dummy_glPopMatrix(void){}
    141     void GLAPIENTRY dummy_glPushMatrix(void){}
    142     void GLAPIENTRY dummy_glShadeModel(GLenum mode){}
    143     void GLAPIENTRY dummy_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer){}
    144     void GLAPIENTRY dummy_glTexEnvi(GLenum target, GLenum pname, GLint param){}
    145     void GLAPIENTRY dummy_glTexEnviv(GLenum target, GLenum pname, const GLint *params){}
    146     void GLAPIENTRY dummy_glTranslatef(GLfloat x, GLfloat y, GLfloat z){}
    147     void GLAPIENTRY dummy_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer){}
    148 
    149     /* OpenGL functions which are needed ONLY for implementing GLES 1.1 EXTENSIONS*/
    150     GLboolean GLAPIENTRY dummy_glIsRenderbufferEXT(GLuint renderbuffer){ return false;}
    151     void GLAPIENTRY dummy_glBindRenderbufferEXT(GLenum target, GLuint renderbuffer){}
    152     void GLAPIENTRY dummy_glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers){}
    153     void GLAPIENTRY dummy_glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers){}
    154     void GLAPIENTRY dummy_glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height){}
    155     void GLAPIENTRY dummy_glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params){}
    156     GLboolean GLAPIENTRY dummy_glIsFramebufferEXT(GLuint framebuffer){ return false;}
    157     void GLAPIENTRY dummy_glBindFramebufferEXT(GLenum target, GLuint framebuffer){}
    158     void GLAPIENTRY dummy_glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers){}
    159     void GLAPIENTRY dummy_glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers){}
    160     GLenum GLAPIENTRY dummy_glCheckFramebufferStatusEXT(GLenum target){ return 0;}
    161     void GLAPIENTRY dummy_glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level){}
    162     void GLAPIENTRY dummy_glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level){}
    163     void GLAPIENTRY dummy_glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset){}
    164     void GLAPIENTRY dummy_glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer){}
    165     void GLAPIENTRY dummy_glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params){}
    166     void GLAPIENTRY dummy_glGenerateMipmapEXT(GLenum target){}
    167     void GLAPIENTRY dummy_glCurrentPaletteMatrixARB(GLint index){}
    168     void GLAPIENTRY dummy_glMatrixIndexuivARB(GLint size, GLuint * indices){}
    169     void GLAPIENTRY dummy_glMatrixIndexPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer){}
    170     void GLAPIENTRY dummy_glWeightPointerARB(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer){}
    171     void GLAPIENTRY dummy_glTexGenf(GLenum coord, GLenum pname, GLfloat param ){}
    172     void GLAPIENTRY dummy_glTexGeni(GLenum coord, GLenum pname, GLint param ){}
    173     void GLAPIENTRY dummy_glTexGenf(GLenum coord, GLenum pname, const GLfloat *params ){}
    174     void GLAPIENTRY dummy_glTexGeniv(GLenum coord, GLenum pname, const GLint *params ){}
    175     void GLAPIENTRY dummy_glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params ){}
    176     void GLAPIENTRY dummy_glGetTexGeniv(GLenum coord, GLenum pname, GLint *params ){}
    177 
    178     /* Loading OpenGL functions which are needed ONLY for implementing GLES 2.0*/
    179     void GL_APIENTRY dummy_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha){}
    180     void GL_APIENTRY dummy_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask){}
    181     void GL_APIENTRY dummy_glStencilMaskSeparate(GLenum face, GLuint mask){}
    182     void GL_APIENTRY dummy_glGenerateMipmap(GLenum target){}
    183     void GL_APIENTRY dummy_glBindFramebuffer(GLenum target, GLuint framebuffer){}
    184     void GL_APIENTRY dummy_glBindRenderbuffer(GLenum target, GLuint renderbuffer){}
    185     void GL_APIENTRY dummy_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers){}
    186     void GL_APIENTRY dummy_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers){}
    187     GLboolean GL_APIENTRY dummy_glIsProgram(GLuint program){ return false;}
    188     GLboolean GL_APIENTRY dummy_glIsShader(GLuint shader){ return false;}
    189     void GL_APIENTRY dummy_glVertexAttrib1f(GLuint indx, GLfloat x){}
    190     void GL_APIENTRY dummy_glVertexAttrib1fv(GLuint indx, const GLfloat* values){}
    191     void GL_APIENTRY dummy_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y){}
    192     void GL_APIENTRY dummy_glVertexAttrib2fv(GLuint indx, const GLfloat* values){}
    193     void GL_APIENTRY dummy_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z){}
    194     void GL_APIENTRY dummy_glVertexAttrib3fv(GLuint indx, const GLfloat* values){}
    195     void GL_APIENTRY dummy_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w){}
    196     void GL_APIENTRY dummy_glVertexAttrib4fv(GLuint indx, const GLfloat* values){}
    197     void GL_APIENTRY dummy_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr){}
    198     void GL_APIENTRY dummy_glDisableVertexAttribArray(GLuint index){}
    199     void GL_APIENTRY dummy_glEnableVertexAttribArray(GLuint index){}
    200     void GL_APIENTRY dummy_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params){}
    201     void GL_APIENTRY dummy_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params){}
    202     void GL_APIENTRY dummy_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer){}
    203     void GL_APIENTRY dummy_glUniform1f(GLint location, GLfloat x){}
    204     void GL_APIENTRY dummy_glUniform1fv(GLint location, GLsizei count, const GLfloat* v){}
    205     void GL_APIENTRY dummy_glUniform1i(GLint location, GLint x){}
    206     void GL_APIENTRY dummy_glUniform1iv(GLint location, GLsizei count, const GLint* v){}
    207     void GL_APIENTRY dummy_glUniform2f(GLint location, GLfloat x, GLfloat y){}
    208     void GL_APIENTRY dummy_glUniform2fv(GLint location, GLsizei count, const GLfloat* v){}
    209     void GL_APIENTRY dummy_glUniform2i(GLint location, GLint x, GLint y){}
    210     void GL_APIENTRY dummy_glUniform2iv(GLint location, GLsizei count, const GLint* v){}
    211     void GL_APIENTRY dummy_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z){}
    212     void GL_APIENTRY dummy_glUniform3fv(GLint location, GLsizei count, const GLfloat* v){}
    213     void GL_APIENTRY dummy_glUniform3i(GLint location, GLint x, GLint y, GLint z){}
    214     void GL_APIENTRY dummy_glUniform3iv(GLint location, GLsizei count, const GLint* v){}
    215     void GL_APIENTRY dummy_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w){}
    216     void GL_APIENTRY dummy_glUniform4fv(GLint location, GLsizei count, const GLfloat* v){}
    217     void GL_APIENTRY dummy_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w){}
    218     void GL_APIENTRY dummy_glUniform4iv(GLint location, GLsizei count, const GLint* v){}
    219     void GL_APIENTRY dummy_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value){}
    220     void GL_APIENTRY dummy_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value){}
    221     void GL_APIENTRY dummy_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value){}
    222     void GL_APIENTRY dummy_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params){}
    223     void GL_APIENTRY dummy_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params){}
    224     GLboolean GL_APIENTRY dummy_glIsFramebuffer(GLuint framebuffer){ return false;}
    225     GLboolean GL_APIENTRY dummy_glIsRenderbuffer(GLuint renderbuffer){ return false;}
    226     GLenum GL_APIENTRY dummy_glCheckFramebufferStatus(GLenum target){ return 0;}
    227     void GL_APIENTRY dummy_glAttachShader(GLuint program, GLuint shader){}
    228     void GL_APIENTRY dummy_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name){}
    229     void GL_APIENTRY dummy_glCompileShader(GLuint shader){}
    230     GLuint GL_APIENTRY dummy_glCreateProgram(void){ return 0;}
    231     GLuint GL_APIENTRY dummy_glCreateShader(GLenum type){ return 0;}
    232     void GL_APIENTRY dummy_glDeleteProgram(GLuint program){}
    233     void GL_APIENTRY dummy_glDeleteShader(GLuint shader){}
    234     void GL_APIENTRY dummy_glDetachShader(GLuint program, GLuint shader){}
    235     void GL_APIENTRY dummy_glLinkProgram(GLuint program){}
    236     void GL_APIENTRY dummy_glUseProgram(GLuint program){}
    237     void GL_APIENTRY dummy_glValidateProgram(GLuint program){}
    238     void GL_APIENTRY dummy_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name){}
    239     void GL_APIENTRY dummy_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name){}
    240     void GL_APIENTRY dummy_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders){}
    241     int  GL_APIENTRY dummy_glGetAttribLocation(GLuint program, const GLchar* name){ return 0;}
    242     void GL_APIENTRY dummy_glGetProgramiv(GLuint program, GLenum pname, GLint* params){}
    243     void GL_APIENTRY dummy_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog){}
    244     void GL_APIENTRY dummy_glGetShaderiv(GLuint shader, GLenum pname, GLint* params){}
    245     void GL_APIENTRY dummy_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog){}
    246     void GL_APIENTRY dummy_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision){}
    247     void GL_APIENTRY dummy_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source){}
    248     void GL_APIENTRY dummy_glGetUniformfv(GLuint program, GLint location, GLfloat* params){}
    249     void GL_APIENTRY dummy_glGetUniformiv(GLuint program, GLint location, GLint* params){}
    250     int  GL_APIENTRY dummy_glGetUniformLocation(GLuint program, const GLchar* name){ return 0;}
    251     void GL_APIENTRY dummy_glReleaseShaderCompiler(void){}
    252     void GL_APIENTRY dummy_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height){}
    253     void GL_APIENTRY dummy_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length){}
    254     void GL_APIENTRY dummy_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length){}
    255     void GL_APIENTRY dummy_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer){}
    256     void GL_APIENTRY dummy_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level){}
    257