• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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