Home | History | Annotate | Download | only in libOpenglRender
      1 /*
      2 * Copyright (C) 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 #ifndef _GLES_DISPATCH_H
     17 #define _GLES_DISPATCH_H
     18 
     19 #include "gl_proc.h"
     20 
     21 
     22 struct GLDispatch {
     23     glAlphaFunc_t glAlphaFunc;
     24     glClearColor_t glClearColor;
     25     glClearDepthf_t glClearDepthf;
     26     glClipPlanef_t glClipPlanef;
     27     glColor4f_t glColor4f;
     28     glDepthRangef_t glDepthRangef;
     29     glFogf_t glFogf;
     30     glFogfv_t glFogfv;
     31     glFrustumf_t glFrustumf;
     32     glGetClipPlanef_t glGetClipPlanef;
     33     glGetFloatv_t glGetFloatv;
     34     glGetLightfv_t glGetLightfv;
     35     glGetMaterialfv_t glGetMaterialfv;
     36     glGetTexEnvfv_t glGetTexEnvfv;
     37     glGetTexParameterfv_t glGetTexParameterfv;
     38     glLightModelf_t glLightModelf;
     39     glLightModelfv_t glLightModelfv;
     40     glLightf_t glLightf;
     41     glLightfv_t glLightfv;
     42     glLineWidth_t glLineWidth;
     43     glLoadMatrixf_t glLoadMatrixf;
     44     glMaterialf_t glMaterialf;
     45     glMaterialfv_t glMaterialfv;
     46     glMultMatrixf_t glMultMatrixf;
     47     glMultiTexCoord4f_t glMultiTexCoord4f;
     48     glNormal3f_t glNormal3f;
     49     glOrthof_t glOrthof;
     50     glPointParameterf_t glPointParameterf;
     51     glPointParameterfv_t glPointParameterfv;
     52     glPointSize_t glPointSize;
     53     glPolygonOffset_t glPolygonOffset;
     54     glRotatef_t glRotatef;
     55     glScalef_t glScalef;
     56     glTexEnvf_t glTexEnvf;
     57     glTexEnvfv_t glTexEnvfv;
     58     glTexParameterf_t glTexParameterf;
     59     glTexParameterfv_t glTexParameterfv;
     60     glTranslatef_t glTranslatef;
     61     glActiveTexture_t glActiveTexture;
     62     glAlphaFuncx_t glAlphaFuncx;
     63     glBindBuffer_t glBindBuffer;
     64     glBindTexture_t glBindTexture;
     65     glBlendFunc_t glBlendFunc;
     66     glBufferData_t glBufferData;
     67     glBufferSubData_t glBufferSubData;
     68     glClear_t glClear;
     69     glClearColorx_t glClearColorx;
     70     glClearDepthx_t glClearDepthx;
     71     glClearStencil_t glClearStencil;
     72     glClientActiveTexture_t glClientActiveTexture;
     73     glClipPlanex_t glClipPlanex;
     74     glColor4ub_t glColor4ub;
     75     glColor4x_t glColor4x;
     76     glColorMask_t glColorMask;
     77     glColorPointer_t glColorPointer;
     78     glCompressedTexImage2D_t glCompressedTexImage2D;
     79     glCompressedTexSubImage2D_t glCompressedTexSubImage2D;
     80     glCopyTexImage2D_t glCopyTexImage2D;
     81     glCopyTexSubImage2D_t glCopyTexSubImage2D;
     82     glCullFace_t glCullFace;
     83     glDeleteBuffers_t glDeleteBuffers;
     84     glDeleteTextures_t glDeleteTextures;
     85     glDepthFunc_t glDepthFunc;
     86     glDepthMask_t glDepthMask;
     87     glDepthRangex_t glDepthRangex;
     88     glDisable_t glDisable;
     89     glDisableClientState_t glDisableClientState;
     90     glDrawArrays_t glDrawArrays;
     91     glDrawElements_t glDrawElements;
     92     glEnable_t glEnable;
     93     glEnableClientState_t glEnableClientState;
     94     glFinish_t glFinish;
     95     glFlush_t glFlush;
     96     glFogx_t glFogx;
     97     glFogxv_t glFogxv;
     98     glFrontFace_t glFrontFace;
     99     glFrustumx_t glFrustumx;
    100     glGetBooleanv_t glGetBooleanv;
    101     glGetBufferParameteriv_t glGetBufferParameteriv;
    102     glGetClipPlanex_t glGetClipPlanex;
    103     glGenBuffers_t glGenBuffers;
    104     glGenTextures_t glGenTextures;
    105     glGetError_t glGetError;
    106     glGetFixedv_t glGetFixedv;
    107     glGetIntegerv_t glGetIntegerv;
    108     glGetLightxv_t glGetLightxv;
    109     glGetMaterialxv_t glGetMaterialxv;
    110     glGetPointerv_t glGetPointerv;
    111     glGetString_t glGetString;
    112     glGetTexEnviv_t glGetTexEnviv;
    113     glGetTexEnvxv_t glGetTexEnvxv;
    114     glGetTexParameteriv_t glGetTexParameteriv;
    115     glGetTexParameterxv_t glGetTexParameterxv;
    116     glHint_t glHint;
    117     glIsBuffer_t glIsBuffer;
    118     glIsEnabled_t glIsEnabled;
    119     glIsTexture_t glIsTexture;
    120     glLightModelx_t glLightModelx;
    121     glLightModelxv_t glLightModelxv;
    122     glLightx_t glLightx;
    123     glLightxv_t glLightxv;
    124     glLineWidthx_t glLineWidthx;
    125     glLoadIdentity_t glLoadIdentity;
    126     glLoadMatrixx_t glLoadMatrixx;
    127     glLogicOp_t glLogicOp;
    128     glMaterialx_t glMaterialx;
    129     glMaterialxv_t glMaterialxv;
    130     glMatrixMode_t glMatrixMode;
    131     glMultMatrixx_t glMultMatrixx;
    132     glMultiTexCoord4x_t glMultiTexCoord4x;
    133     glNormal3x_t glNormal3x;
    134     glNormalPointer_t glNormalPointer;
    135     glOrthox_t glOrthox;
    136     glPixelStorei_t glPixelStorei;
    137     glPointParameterx_t glPointParameterx;
    138     glPointParameterxv_t glPointParameterxv;
    139     glPointSizex_t glPointSizex;
    140     glPolygonOffsetx_t glPolygonOffsetx;
    141     glPopMatrix_t glPopMatrix;
    142     glPushMatrix_t glPushMatrix;
    143     glReadPixels_t glReadPixels;
    144     glRotatex_t glRotatex;
    145     glSampleCoverage_t glSampleCoverage;
    146     glSampleCoveragex_t glSampleCoveragex;
    147     glScalex_t glScalex;
    148     glScissor_t glScissor;
    149     glShadeModel_t glShadeModel;
    150     glStencilFunc_t glStencilFunc;
    151     glStencilMask_t glStencilMask;
    152     glStencilOp_t glStencilOp;
    153     glTexCoordPointer_t glTexCoordPointer;
    154     glTexEnvi_t glTexEnvi;
    155     glTexEnvx_t glTexEnvx;
    156     glTexEnviv_t glTexEnviv;
    157     glTexEnvxv_t glTexEnvxv;
    158     glTexImage2D_t glTexImage2D;
    159     glTexParameteri_t glTexParameteri;
    160     glTexParameterx_t glTexParameterx;
    161     glTexParameteriv_t glTexParameteriv;
    162     glTexParameterxv_t glTexParameterxv;
    163     glTexSubImage2D_t glTexSubImage2D;
    164     glTranslatex_t glTranslatex;
    165     glVertexPointer_t glVertexPointer;
    166     glViewport_t glViewport;
    167     glPointSizePointerOES_t glPointSizePointerOES;
    168     glBlendEquationSeparateOES_t glBlendEquationSeparateOES;
    169     glBlendFuncSeparateOES_t glBlendFuncSeparateOES;
    170     glBlendEquationOES_t glBlendEquationOES;
    171     glDrawTexsOES_t glDrawTexsOES;
    172     glDrawTexiOES_t glDrawTexiOES;
    173     glDrawTexxOES_t glDrawTexxOES;
    174     glDrawTexsvOES_t glDrawTexsvOES;
    175     glDrawTexivOES_t glDrawTexivOES;
    176     glDrawTexxvOES_t glDrawTexxvOES;
    177     glDrawTexfOES_t glDrawTexfOES;
    178     glDrawTexfvOES_t glDrawTexfvOES;
    179     glEGLImageTargetTexture2DOES_t glEGLImageTargetTexture2DOES;
    180     glEGLImageTargetRenderbufferStorageOES_t glEGLImageTargetRenderbufferStorageOES;
    181     glAlphaFuncxOES_t glAlphaFuncxOES;
    182     glClearColorxOES_t glClearColorxOES;
    183     glClearDepthxOES_t glClearDepthxOES;
    184     glClipPlanexOES_t glClipPlanexOES;
    185     glColor4xOES_t glColor4xOES;
    186     glDepthRangexOES_t glDepthRangexOES;
    187     glFogxOES_t glFogxOES;
    188     glFogxvOES_t glFogxvOES;
    189     glFrustumxOES_t glFrustumxOES;
    190     glGetClipPlanexOES_t glGetClipPlanexOES;
    191     glGetFixedvOES_t glGetFixedvOES;
    192     glGetLightxvOES_t glGetLightxvOES;
    193     glGetMaterialxvOES_t glGetMaterialxvOES;
    194     glGetTexEnvxvOES_t glGetTexEnvxvOES;
    195     glGetTexParameterxvOES_t glGetTexParameterxvOES;
    196     glLightModelxOES_t glLightModelxOES;
    197     glLightModelxvOES_t glLightModelxvOES;
    198     glLightxOES_t glLightxOES;
    199     glLightxvOES_t glLightxvOES;
    200     glLineWidthxOES_t glLineWidthxOES;
    201     glLoadMatrixxOES_t glLoadMatrixxOES;
    202     glMaterialxOES_t glMaterialxOES;
    203     glMaterialxvOES_t glMaterialxvOES;
    204     glMultMatrixxOES_t glMultMatrixxOES;
    205     glMultiTexCoord4xOES_t glMultiTexCoord4xOES;
    206     glNormal3xOES_t glNormal3xOES;
    207     glOrthoxOES_t glOrthoxOES;
    208     glPointParameterxOES_t glPointParameterxOES;
    209     glPointParameterxvOES_t glPointParameterxvOES;
    210     glPointSizexOES_t glPointSizexOES;
    211     glPolygonOffsetxOES_t glPolygonOffsetxOES;
    212     glRotatexOES_t glRotatexOES;
    213     glSampleCoveragexOES_t glSampleCoveragexOES;
    214     glScalexOES_t glScalexOES;
    215     glTexEnvxOES_t glTexEnvxOES;
    216     glTexEnvxvOES_t glTexEnvxvOES;
    217     glTexParameterxOES_t glTexParameterxOES;
    218     glTexParameterxvOES_t glTexParameterxvOES;
    219     glTranslatexOES_t glTranslatexOES;
    220     glIsRenderbufferOES_t glIsRenderbufferOES;
    221     glBindRenderbufferOES_t glBindRenderbufferOES;
    222     glDeleteRenderbuffersOES_t glDeleteRenderbuffersOES;
    223     glGenRenderbuffersOES_t glGenRenderbuffersOES;
    224     glRenderbufferStorageOES_t glRenderbufferStorageOES;
    225     glGetRenderbufferParameterivOES_t glGetRenderbufferParameterivOES;
    226     glIsFramebufferOES_t glIsFramebufferOES;
    227     glBindFramebufferOES_t glBindFramebufferOES;
    228     glDeleteFramebuffersOES_t glDeleteFramebuffersOES;
    229     glGenFramebuffersOES_t glGenFramebuffersOES;
    230     glCheckFramebufferStatusOES_t glCheckFramebufferStatusOES;
    231     glFramebufferRenderbufferOES_t glFramebufferRenderbufferOES;
    232     glFramebufferTexture2DOES_t glFramebufferTexture2DOES;
    233     glGetFramebufferAttachmentParameterivOES_t glGetFramebufferAttachmentParameterivOES;
    234     glGenerateMipmapOES_t glGenerateMipmapOES;
    235     glMapBufferOES_t glMapBufferOES;
    236     glUnmapBufferOES_t glUnmapBufferOES;
    237     glGetBufferPointervOES_t glGetBufferPointervOES;
    238     glCurrentPaletteMatrixOES_t glCurrentPaletteMatrixOES;
    239     glLoadPaletteFromModelViewMatrixOES_t glLoadPaletteFromModelViewMatrixOES;
    240     glMatrixIndexPointerOES_t glMatrixIndexPointerOES;
    241     glWeightPointerOES_t glWeightPointerOES;
    242     glQueryMatrixxOES_t glQueryMatrixxOES;
    243     glDepthRangefOES_t glDepthRangefOES;
    244     glFrustumfOES_t glFrustumfOES;
    245     glOrthofOES_t glOrthofOES;
    246     glClipPlanefOES_t glClipPlanefOES;
    247     glGetClipPlanefOES_t glGetClipPlanefOES;
    248     glClearDepthfOES_t glClearDepthfOES;
    249     glTexGenfOES_t glTexGenfOES;
    250     glTexGenfvOES_t glTexGenfvOES;
    251     glTexGeniOES_t glTexGeniOES;
    252     glTexGenivOES_t glTexGenivOES;
    253     glTexGenxOES_t glTexGenxOES;
    254     glTexGenxvOES_t glTexGenxvOES;
    255     glGetTexGenfvOES_t glGetTexGenfvOES;
    256     glGetTexGenivOES_t glGetTexGenivOES;
    257     glGetTexGenxvOES_t glGetTexGenxvOES;
    258     glBindVertexArrayOES_t glBindVertexArrayOES;
    259     glDeleteVertexArraysOES_t glDeleteVertexArraysOES;
    260     glGenVertexArraysOES_t glGenVertexArraysOES;
    261     glIsVertexArrayOES_t glIsVertexArrayOES;
    262     glDiscardFramebufferEXT_t glDiscardFramebufferEXT;
    263     glMultiDrawArraysEXT_t glMultiDrawArraysEXT;
    264     glMultiDrawElementsEXT_t glMultiDrawElementsEXT;
    265     glClipPlanefIMG_t glClipPlanefIMG;
    266     glClipPlanexIMG_t glClipPlanexIMG;
    267     glRenderbufferStorageMultisampleIMG_t glRenderbufferStorageMultisampleIMG;
    268     glFramebufferTexture2DMultisampleIMG_t glFramebufferTexture2DMultisampleIMG;
    269     glDeleteFencesNV_t glDeleteFencesNV;
    270     glGenFencesNV_t glGenFencesNV;
    271     glIsFenceNV_t glIsFenceNV;
    272     glTestFenceNV_t glTestFenceNV;
    273     glGetFenceivNV_t glGetFenceivNV;
    274     glFinishFenceNV_t glFinishFenceNV;
    275     glSetFenceNV_t glSetFenceNV;
    276     glGetDriverControlsQCOM_t glGetDriverControlsQCOM;
    277     glGetDriverControlStringQCOM_t glGetDriverControlStringQCOM;
    278     glEnableDriverControlQCOM_t glEnableDriverControlQCOM;
    279     glDisableDriverControlQCOM_t glDisableDriverControlQCOM;
    280     glExtGetTexturesQCOM_t glExtGetTexturesQCOM;
    281     glExtGetBuffersQCOM_t glExtGetBuffersQCOM;
    282     glExtGetRenderbuffersQCOM_t glExtGetRenderbuffersQCOM;
    283     glExtGetFramebuffersQCOM_t glExtGetFramebuffersQCOM;
    284     glExtGetTexLevelParameterivQCOM_t glExtGetTexLevelParameterivQCOM;
    285     glExtTexObjectStateOverrideiQCOM_t glExtTexObjectStateOverrideiQCOM;
    286     glExtGetTexSubImageQCOM_t glExtGetTexSubImageQCOM;
    287     glExtGetBufferPointervQCOM_t glExtGetBufferPointervQCOM;
    288     glExtGetShadersQCOM_t glExtGetShadersQCOM;
    289     glExtGetProgramsQCOM_t glExtGetProgramsQCOM;
    290     glExtIsProgramBinaryQCOM_t glExtIsProgramBinaryQCOM;
    291     glExtGetProgramBinarySourceQCOM_t glExtGetProgramBinarySourceQCOM;
    292     glStartTilingQCOM_t glStartTilingQCOM;
    293     glEndTilingQCOM_t glEndTilingQCOM;
    294 };
    295 
    296 bool init_gl_dispatch();
    297 void *gl_dispatch_get_proc_func(const char *name, void *userData);
    298 
    299 extern GLDispatch s_gl;
    300 #endif
    301