• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2016 The SwiftShader Authors. All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //    http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 // main.cpp: DLL entry point and management of thread-local data.
16 
17 #include "main.h"
18 
19 #include "libGLES_CM.hpp"
20 #include "Framebuffer.h"
21 #include "common/Surface.hpp"
22 #include "Common/Thread.hpp"
23 #include "Common/SharedLibrary.hpp"
24 #include "common/debug.h"
25 
26 #include <GLES/glext.h>
27 
28 #if !defined(_MSC_VER)
29 #define CONSTRUCTOR __attribute__((constructor))
30 #define DESTRUCTOR __attribute__((destructor))
31 #else
32 #define CONSTRUCTOR
33 #define DESTRUCTOR
34 #endif
35 
glAttachThread()36 static void glAttachThread()
37 {
38 	TRACE("()");
39 }
40 
glDetachThread()41 static void glDetachThread()
42 {
43 	TRACE("()");
44 }
45 
glAttachProcess()46 CONSTRUCTOR static void glAttachProcess()
47 {
48 	TRACE("()");
49 
50 	glAttachThread();
51 }
52 
glDetachProcess()53 DESTRUCTOR static void glDetachProcess()
54 {
55 	TRACE("()");
56 
57 	glDetachThread();
58 }
59 
60 #if defined(_WIN32)
DllMain(HINSTANCE instance,DWORD reason,LPVOID reserved)61 extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
62 {
63 	switch(reason)
64 	{
65 	case DLL_PROCESS_ATTACH:
66 		glAttachProcess();
67 		break;
68 	case DLL_THREAD_ATTACH:
69 		glAttachThread();
70 		break;
71 	case DLL_THREAD_DETACH:
72 		glDetachThread();
73 		break;
74 	case DLL_PROCESS_DETACH:
75 		glDetachProcess();
76 		break;
77 	default:
78 		break;
79 	}
80 
81 	return TRUE;
82 }
83 #endif
84 
85 namespace es1
86 {
getContext()87 es1::Context *getContext()
88 {
89 	egl::Context *context = libEGL->clientGetCurrentContext();
90 
91 	if(context && context->getClientVersion() == 1)
92 	{
93 		return static_cast<es1::Context*>(context);
94 	}
95 
96 	return nullptr;
97 }
98 
getDevice()99 Device *getDevice()
100 {
101 	Context *context = getContext();
102 
103 	return context ? context->getDevice() : nullptr;
104 }
105 
106 // Records an error code
error(GLenum errorCode)107 void error(GLenum errorCode)
108 {
109 	es1::Context *context = es1::getContext();
110 
111 	if(context)
112 	{
113 		switch(errorCode)
114 		{
115 		case GL_INVALID_ENUM:
116 			context->recordInvalidEnum();
117 			TRACE("\t! Error generated: invalid enum\n");
118 			break;
119 		case GL_INVALID_VALUE:
120 			context->recordInvalidValue();
121 			TRACE("\t! Error generated: invalid value\n");
122 			break;
123 		case GL_INVALID_OPERATION:
124 			context->recordInvalidOperation();
125 			TRACE("\t! Error generated: invalid operation\n");
126 			break;
127 		case GL_OUT_OF_MEMORY:
128 			context->recordOutOfMemory();
129 			TRACE("\t! Error generated: out of memory\n");
130 			break;
131 		case GL_INVALID_FRAMEBUFFER_OPERATION_OES:
132 			context->recordInvalidFramebufferOperation();
133 			TRACE("\t! Error generated: invalid framebuffer operation\n");
134 			break;
135 		case GL_STACK_OVERFLOW:
136 			context->recordMatrixStackOverflow();
137 			TRACE("\t! Error generated: matrix stack overflow\n");
138 			break;
139 		case GL_STACK_UNDERFLOW:
140 			context->recordMatrixStackUnderflow();
141 			TRACE("\t! Error generated: matrix stack underflow\n");
142 			break;
143 		default: UNREACHABLE(errorCode);
144 		}
145 	}
146 }
147 }
148 
149 namespace es1
150 {
151 void GL_APIENTRY ActiveTexture(GLenum texture);
152 void GL_APIENTRY AlphaFunc(GLenum func, GLclampf ref);
153 void GL_APIENTRY AlphaFuncx(GLenum func, GLclampx ref);
154 void GL_APIENTRY BindBuffer(GLenum target, GLuint buffer);
155 void GL_APIENTRY BindFramebuffer(GLenum target, GLuint framebuffer);
156 void GL_APIENTRY BindFramebufferOES(GLenum target, GLuint framebuffer);
157 void GL_APIENTRY BindRenderbufferOES(GLenum target, GLuint renderbuffer);
158 void GL_APIENTRY BindTexture(GLenum target, GLuint texture);
159 void GL_APIENTRY BlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);
160 void GL_APIENTRY BlendEquationOES(GLenum mode);
161 void GL_APIENTRY BlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha);
162 void GL_APIENTRY BlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
163 void GL_APIENTRY BlendFunc(GLenum sfactor, GLenum dfactor);
164 void GL_APIENTRY BlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
165 void GL_APIENTRY BufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
166 void GL_APIENTRY BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
167 GLenum GL_APIENTRY CheckFramebufferStatusOES(GLenum target);
168 void GL_APIENTRY Clear(GLbitfield mask);
169 void GL_APIENTRY ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
170 void GL_APIENTRY ClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
171 void GL_APIENTRY ClearDepthf(GLclampf depth);
172 void GL_APIENTRY ClearDepthx(GLclampx depth);
173 void GL_APIENTRY ClearStencil(GLint s);
174 void GL_APIENTRY ClientActiveTexture(GLenum texture);
175 void GL_APIENTRY ClipPlanef(GLenum plane, const GLfloat *equation);
176 void GL_APIENTRY ClipPlanex(GLenum plane, const GLfixed *equation);
177 void GL_APIENTRY Color4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
178 void GL_APIENTRY Color4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
179 void GL_APIENTRY Color4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
180 void GL_APIENTRY ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
181 void GL_APIENTRY ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
182 void GL_APIENTRY CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
183                                       GLint border, GLsizei imageSize, const GLvoid* data);
184 void GL_APIENTRY CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
185                                          GLenum format, GLsizei imageSize, const GLvoid* data);
186 void GL_APIENTRY CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
187 void GL_APIENTRY CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
188 void GL_APIENTRY CullFace(GLenum mode);
189 void GL_APIENTRY DeleteBuffers(GLsizei n, const GLuint* buffers);
190 void GL_APIENTRY DeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers);
191 void GL_APIENTRY DeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers);
192 void GL_APIENTRY DeleteTextures(GLsizei n, const GLuint* textures);
193 void GL_APIENTRY DepthFunc(GLenum func);
194 void GL_APIENTRY DepthMask(GLboolean flag);
195 void GL_APIENTRY DepthRangex(GLclampx zNear, GLclampx zFar);
196 void GL_APIENTRY DepthRangef(GLclampf zNear, GLclampf zFar);
197 void GL_APIENTRY Disable(GLenum cap);
198 void GL_APIENTRY DisableClientState(GLenum array);
199 void GL_APIENTRY DrawArrays(GLenum mode, GLint first, GLsizei count);
200 void GL_APIENTRY DrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
201 void GL_APIENTRY Enable(GLenum cap);
202 void GL_APIENTRY EnableClientState(GLenum array);
203 void GL_APIENTRY Finish(void);
204 void GL_APIENTRY Flush(void);
205 void GL_APIENTRY FramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
206 void GL_APIENTRY FramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
207 void GL_APIENTRY Fogf(GLenum pname, GLfloat param);
208 void GL_APIENTRY Fogfv(GLenum pname, const GLfloat *params);
209 void GL_APIENTRY Fogx(GLenum pname, GLfixed param);
210 void GL_APIENTRY Fogxv(GLenum pname, const GLfixed *params);
211 void GL_APIENTRY FrontFace(GLenum mode);
212 void GL_APIENTRY Frustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
213 void GL_APIENTRY Frustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
214 void GL_APIENTRY GenerateMipmapOES(GLenum target);
215 void GL_APIENTRY GenBuffers(GLsizei n, GLuint* buffers);
216 void GL_APIENTRY GenFramebuffersOES(GLsizei n, GLuint* framebuffers);
217 void GL_APIENTRY GenRenderbuffersOES(GLsizei n, GLuint* renderbuffers);
218 void GL_APIENTRY GenTextures(GLsizei n, GLuint* textures);
219 void GL_APIENTRY GetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params);
220 void GL_APIENTRY GetBooleanv(GLenum pname, GLboolean* params);
221 void GL_APIENTRY GetBufferParameteriv(GLenum target, GLenum pname, GLint* params);
222 void GL_APIENTRY GetClipPlanef(GLenum pname, GLfloat eqn[4]);
223 void GL_APIENTRY GetClipPlanex(GLenum pname, GLfixed eqn[4]);
224 GLenum GL_APIENTRY GetError(void);
225 void GL_APIENTRY GetFixedv(GLenum pname, GLfixed *params);
226 void GL_APIENTRY GetFloatv(GLenum pname, GLfloat* params);
227 void GL_APIENTRY GetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params);
228 void GL_APIENTRY GetIntegerv(GLenum pname, GLint* params);
229 void GL_APIENTRY GetLightfv(GLenum light, GLenum pname, GLfloat *params);
230 void GL_APIENTRY GetLightxv(GLenum light, GLenum pname, GLfixed *params);
231 void GL_APIENTRY GetMaterialfv(GLenum face, GLenum pname, GLfloat *params);
232 void GL_APIENTRY GetMaterialxv(GLenum face, GLenum pname, GLfixed *params);
233 void GL_APIENTRY GetPointerv(GLenum pname, GLvoid **params);
234 const GLubyte* GL_APIENTRY GetString(GLenum name);
235 void GL_APIENTRY GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params);
236 void GL_APIENTRY GetTexParameteriv(GLenum target, GLenum pname, GLint* params);
237 void GL_APIENTRY GetTexEnvfv(GLenum env, GLenum pname, GLfloat *params);
238 void GL_APIENTRY GetTexEnviv(GLenum env, GLenum pname, GLint *params);
239 void GL_APIENTRY GetTexEnvxv(GLenum env, GLenum pname, GLfixed *params);
240 void GL_APIENTRY GetTexParameterxv(GLenum target, GLenum pname, GLfixed *params);
241 void GL_APIENTRY Hint(GLenum target, GLenum mode);
242 GLboolean GL_APIENTRY IsBuffer(GLuint buffer);
243 GLboolean GL_APIENTRY IsEnabled(GLenum cap);
244 GLboolean GL_APIENTRY IsFramebufferOES(GLuint framebuffer);
245 GLboolean GL_APIENTRY IsTexture(GLuint texture);
246 GLboolean GL_APIENTRY IsRenderbufferOES(GLuint renderbuffer);
247 void GL_APIENTRY LightModelf(GLenum pname, GLfloat param);
248 void GL_APIENTRY LightModelfv(GLenum pname, const GLfloat *params);
249 void GL_APIENTRY LightModelx(GLenum pname, GLfixed param);
250 void GL_APIENTRY LightModelxv(GLenum pname, const GLfixed *params);
251 void GL_APIENTRY Lightf(GLenum light, GLenum pname, GLfloat param);
252 void GL_APIENTRY Lightfv(GLenum light, GLenum pname, const GLfloat *params);
253 void GL_APIENTRY Lightx(GLenum light, GLenum pname, GLfixed param);
254 void GL_APIENTRY Lightxv(GLenum light, GLenum pname, const GLfixed *params);
255 void GL_APIENTRY LineWidth(GLfloat width);
256 void GL_APIENTRY LineWidthx(GLfixed width);
257 void GL_APIENTRY LoadIdentity(void);
258 void GL_APIENTRY LoadMatrixf(const GLfloat *m);
259 void GL_APIENTRY LoadMatrixx(const GLfixed *m);
260 void GL_APIENTRY LogicOp(GLenum opcode);
261 void GL_APIENTRY Materialf(GLenum face, GLenum pname, GLfloat param);
262 void GL_APIENTRY Materialfv(GLenum face, GLenum pname, const GLfloat *params);
263 void GL_APIENTRY Materialx(GLenum face, GLenum pname, GLfixed param);
264 void GL_APIENTRY Materialxv(GLenum face, GLenum pname, const GLfixed *params);
265 void GL_APIENTRY MatrixMode(GLenum mode);
266 void GL_APIENTRY MultMatrixf(const GLfloat *m);
267 void GL_APIENTRY MultMatrixx(const GLfixed *m);
268 void GL_APIENTRY MultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
269 void GL_APIENTRY MultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
270 void GL_APIENTRY Normal3f(GLfloat nx, GLfloat ny, GLfloat nz);
271 void GL_APIENTRY Normal3x(GLfixed nx, GLfixed ny, GLfixed nz);
272 void GL_APIENTRY NormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer);
273 void GL_APIENTRY Orthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
274 void GL_APIENTRY Orthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
275 void GL_APIENTRY PixelStorei(GLenum pname, GLint param);
276 void GL_APIENTRY PointParameterf(GLenum pname, GLfloat param);
277 void GL_APIENTRY PointParameterfv(GLenum pname, const GLfloat *params);
278 void GL_APIENTRY PointParameterx(GLenum pname, GLfixed param);
279 void GL_APIENTRY PointParameterxv(GLenum pname, const GLfixed *params);
280 void GL_APIENTRY PointSize(GLfloat size);
281 void GL_APIENTRY PointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer);
282 void GL_APIENTRY PointSizex(GLfixed size);
283 void GL_APIENTRY PolygonOffset(GLfloat factor, GLfloat units);
284 void GL_APIENTRY PolygonOffsetx(GLfixed factor, GLfixed units);
285 void GL_APIENTRY PopMatrix(void);
286 void GL_APIENTRY PushMatrix(void);
287 void GL_APIENTRY ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
288 void GL_APIENTRY RenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
289 void GL_APIENTRY Rotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
290 void GL_APIENTRY Rotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
291 void GL_APIENTRY SampleCoverage(GLclampf value, GLboolean invert);
292 void GL_APIENTRY SampleCoveragex(GLclampx value, GLboolean invert);
293 void GL_APIENTRY Scalef(GLfloat x, GLfloat y, GLfloat z);
294 void GL_APIENTRY Scalex(GLfixed x, GLfixed y, GLfixed z);
295 void GL_APIENTRY Scissor(GLint x, GLint y, GLsizei width, GLsizei height);
296 void GL_APIENTRY ShadeModel(GLenum mode);
297 void GL_APIENTRY StencilFunc(GLenum func, GLint ref, GLuint mask);
298 void GL_APIENTRY StencilMask(GLuint mask);
299 void GL_APIENTRY StencilOp(GLenum fail, GLenum zfail, GLenum zpass);
300 void GL_APIENTRY TexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
301 void GL_APIENTRY TexEnvf(GLenum target, GLenum pname, GLfloat param);
302 void GL_APIENTRY TexEnvfv(GLenum target, GLenum pname, const GLfloat *params);
303 void GL_APIENTRY TexEnvi(GLenum target, GLenum pname, GLint param);
304 void GL_APIENTRY TexEnvx(GLenum target, GLenum pname, GLfixed param);
305 void GL_APIENTRY TexEnviv(GLenum target, GLenum pname, const GLint *params);
306 void GL_APIENTRY TexEnvxv(GLenum target, GLenum pname, const GLfixed *params);
307 void GL_APIENTRY TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
308                             GLint border, GLenum format, GLenum type, const GLvoid* pixels);
309 void GL_APIENTRY TexParameterf(GLenum target, GLenum pname, GLfloat param);
310 void GL_APIENTRY TexParameterfv(GLenum target, GLenum pname, const GLfloat* params);
311 void GL_APIENTRY TexParameteri(GLenum target, GLenum pname, GLint param);
312 void GL_APIENTRY TexParameteriv(GLenum target, GLenum pname, const GLint* params);
313 void GL_APIENTRY TexParameterx(GLenum target, GLenum pname, GLfixed param);
314 void GL_APIENTRY TexParameterxv(GLenum target, GLenum pname, const GLfixed *params);
315 void GL_APIENTRY TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
316                                GLenum format, GLenum type, const GLvoid* pixels);
317 void GL_APIENTRY Translatef(GLfloat x, GLfloat y, GLfloat z);
318 void GL_APIENTRY Translatex(GLfixed x, GLfixed y, GLfixed z);
319 void GL_APIENTRY VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
320 void GL_APIENTRY Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
321 void GL_APIENTRY EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image);
322 void GL_APIENTRY EGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image);
323 void GL_APIENTRY DrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height);
324 void GL_APIENTRY DrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height);
325 void GL_APIENTRY DrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height);
326 void GL_APIENTRY DrawTexsvOES(const GLshort *coords);
327 void GL_APIENTRY DrawTexivOES(const GLint *coords);
328 void GL_APIENTRY DrawTexxvOES(const GLfixed *coords);
329 void GL_APIENTRY DrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height);
330 void GL_APIENTRY DrawTexfvOES(const GLfloat *coords);
331 }
332 
333 egl::Context *es1CreateContext(egl::Display *display, const egl::Context *shareContext, const egl::Config *config);
334 extern "C" __eglMustCastToProperFunctionPointerType es1GetProcAddress(const char *procname);
335 egl::Image *createBackBuffer(int width, int height, sw::Format format, int multiSampleDepth);
336 egl::Image *createDepthStencil(int width, int height, sw::Format format, int multiSampleDepth);
337 sw::FrameBuffer *createFrameBuffer(void *nativeDisplay, EGLNativeWindowType window, int width, int height);
338 
339 extern "C"
340 {
eglGetError(void)341 EGLAPI EGLint EGLAPIENTRY eglGetError(void)
342 {
343 	return libEGL->eglGetError();
344 }
345 
eglGetDisplay(EGLNativeDisplayType display_id)346 EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
347 {
348 	return libEGL->eglGetDisplay(display_id);
349 }
350 
eglInitialize(EGLDisplay dpy,EGLint * major,EGLint * minor)351 EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
352 {
353 	return libEGL->eglInitialize(dpy, major, minor);
354 }
355 
eglTerminate(EGLDisplay dpy)356 EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
357 {
358 	return libEGL->eglTerminate(dpy);
359 }
360 
eglQueryString(EGLDisplay dpy,EGLint name)361 EGLAPI const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
362 {
363 	return libEGL->eglQueryString(dpy, name);
364 }
365 
eglGetConfigs(EGLDisplay dpy,EGLConfig * configs,EGLint config_size,EGLint * num_config)366 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config)
367 {
368 	return libEGL->eglGetConfigs(dpy, configs, config_size, num_config);
369 }
370 
eglChooseConfig(EGLDisplay dpy,const EGLint * attrib_list,EGLConfig * configs,EGLint config_size,EGLint * num_config)371 EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config)
372 {
373 	return libEGL->eglChooseConfig(dpy, attrib_list, configs, config_size, num_config);
374 }
375 
eglGetConfigAttrib(EGLDisplay dpy,EGLConfig config,EGLint attribute,EGLint * value)376 EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value)
377 {
378 	return libEGL->eglGetConfigAttrib(dpy, config, attribute, value);
379 }
380 
eglCreateWindowSurface(EGLDisplay dpy,EGLConfig config,EGLNativeWindowType window,const EGLint * attrib_list)381 EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType window, const EGLint *attrib_list)
382 {
383 	return libEGL->eglCreateWindowSurface(dpy, config, window, attrib_list);
384 }
385 
eglCreatePbufferSurface(EGLDisplay dpy,EGLConfig config,const EGLint * attrib_list)386 EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list)
387 {
388 	return libEGL->eglCreatePbufferSurface(dpy, config, attrib_list);
389 }
390 
eglCreatePixmapSurface(EGLDisplay dpy,EGLConfig config,EGLNativePixmapType pixmap,const EGLint * attrib_list)391 EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint *attrib_list)
392 {
393 	return libEGL->eglCreatePixmapSurface(dpy, config, pixmap, attrib_list);
394 }
395 
eglDestroySurface(EGLDisplay dpy,EGLSurface surface)396 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
397 {
398 	return libEGL->eglDestroySurface(dpy, surface);
399 }
400 
eglQuerySurface(EGLDisplay dpy,EGLSurface surface,EGLint attribute,EGLint * value)401 EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value)
402 {
403 	return libEGL->eglQuerySurface(dpy, surface, attribute, value);
404 }
405 
eglBindAPI(EGLenum api)406 EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
407 {
408 	return libEGL->eglBindAPI(api);
409 }
410 
eglQueryAPI(void)411 EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void)
412 {
413 	return libEGL->eglQueryAPI();
414 }
415 
eglWaitClient(void)416 EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void)
417 {
418 	return libEGL->eglWaitClient();
419 }
420 
eglReleaseThread(void)421 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void)
422 {
423 	return libEGL->eglReleaseThread();
424 }
425 
eglCreatePbufferFromClientBuffer(EGLDisplay dpy,EGLenum buftype,EGLClientBuffer buffer,EGLConfig config,const EGLint * attrib_list)426 EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint *attrib_list)
427 {
428 	return libEGL->eglCreatePbufferFromClientBuffer(dpy, buftype, buffer, config, attrib_list);
429 }
430 
eglSurfaceAttrib(EGLDisplay dpy,EGLSurface surface,EGLint attribute,EGLint value)431 EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
432 {
433 	return libEGL->eglSurfaceAttrib(dpy, surface, attribute, value);
434 }
435 
eglBindTexImage(EGLDisplay dpy,EGLSurface surface,EGLint buffer)436 EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
437 {
438 	return libEGL->eglBindTexImage(dpy, surface, buffer);
439 }
440 
eglReleaseTexImage(EGLDisplay dpy,EGLSurface surface,EGLint buffer)441 EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
442 {
443 	return libEGL->eglReleaseTexImage(dpy, surface, buffer);
444 }
445 
eglSwapInterval(EGLDisplay dpy,EGLint interval)446 EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
447 {
448 	return libEGL->eglSwapInterval(dpy, interval);
449 }
450 
eglCreateContext(EGLDisplay dpy,EGLConfig config,EGLContext share_context,const EGLint * attrib_list)451 EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint *attrib_list)
452 {
453 	return libEGL->eglCreateContext(dpy, config, share_context, attrib_list);
454 }
455 
eglDestroyContext(EGLDisplay dpy,EGLContext ctx)456 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
457 {
458 	return libEGL->eglDestroyContext(dpy, ctx);
459 }
460 
eglMakeCurrent(EGLDisplay dpy,EGLSurface draw,EGLSurface read,EGLContext ctx)461 EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
462 {
463 	return libEGL->eglMakeCurrent(dpy, draw, read, ctx);
464 }
465 
eglGetCurrentContext(void)466 EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void)
467 {
468 	return libEGL->eglGetCurrentContext();
469 }
470 
eglGetCurrentSurface(EGLint readdraw)471 EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw)
472 {
473 	return libEGL->eglGetCurrentSurface(readdraw);
474 }
475 
eglGetCurrentDisplay(void)476 EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void)
477 {
478 	return libEGL->eglGetCurrentDisplay();
479 }
480 
eglQueryContext(EGLDisplay dpy,EGLContext ctx,EGLint attribute,EGLint * value)481 EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value)
482 {
483 	return libEGL->eglQueryContext(dpy, ctx, attribute, value);
484 }
485 
eglWaitGL(void)486 EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void)
487 {
488 	return libEGL->eglWaitGL();
489 }
490 
eglWaitNative(EGLint engine)491 EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
492 {
493 	return libEGL->eglWaitNative(engine);
494 }
495 
eglSwapBuffers(EGLDisplay dpy,EGLSurface surface)496 EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
497 {
498 	return libEGL->eglSwapBuffers(dpy, surface);
499 }
500 
eglCopyBuffers(EGLDisplay dpy,EGLSurface surface,EGLNativePixmapType target)501 EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
502 {
503 	return libEGL->eglCopyBuffers(dpy, surface, target);
504 }
505 
eglCreateImageKHR(EGLDisplay dpy,EGLContext ctx,EGLenum target,EGLClientBuffer buffer,const EGLint * attrib_list)506 EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list)
507 {
508 	return libEGL->eglCreateImageKHR(dpy, ctx, target, buffer, attrib_list);
509 }
510 
eglDestroyImageKHR(EGLDisplay dpy,EGLImageKHR image)511 EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image)
512 {
513 	return libEGL->eglDestroyImageKHR(dpy, image);
514 }
515 
eglGetProcAddress(const char * procname)516 EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
517 {
518 	return libEGL->eglGetProcAddress(procname);
519 }
520 
eglCreateSyncKHR(EGLDisplay dpy,EGLenum type,const EGLint * attrib_list)521 EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
522 {
523 	return libEGL->eglCreateSyncKHR(dpy, type, attrib_list);
524 }
525 
eglDestroySyncKHR(EGLDisplay dpy,EGLSyncKHR sync)526 EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync)
527 {
528 	return libEGL->eglDestroySyncKHR(dpy, sync);
529 }
530 
eglClientWaitSyncKHR(EGLDisplay dpy,EGLSyncKHR sync,EGLint flags,EGLTimeKHR timeout)531 EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout)
532 {
533 	return libEGL->eglClientWaitSyncKHR(dpy, sync, flags, timeout);
534 }
535 
eglGetSyncAttribKHR(EGLDisplay dpy,EGLSyncKHR sync,EGLint attribute,EGLint * value)536 EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value)
537 {
538 	return libEGL->eglGetSyncAttribKHR(dpy, sync, attribute, value);
539 }
540 
glActiveTexture(GLenum texture)541 GL_API void GL_APIENTRY glActiveTexture(GLenum texture)
542 {
543 	return es1::ActiveTexture(texture);
544 }
545 
glAlphaFunc(GLenum func,GLclampf ref)546 GL_API void GL_APIENTRY glAlphaFunc(GLenum func, GLclampf ref)
547 {
548 	return es1::AlphaFunc(func, ref);
549 }
550 
glAlphaFuncx(GLenum func,GLclampx ref)551 GL_API void GL_APIENTRY glAlphaFuncx(GLenum func, GLclampx ref)
552 {
553 	return es1::AlphaFuncx(func, ref);
554 }
555 
glBindBuffer(GLenum target,GLuint buffer)556 GL_API void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer)
557 {
558 	return es1::BindBuffer(target, buffer);
559 }
560 
glBindFramebuffer(GLenum target,GLuint framebuffer)561 GL_API void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer)
562 {
563 	return es1::BindFramebuffer(target, framebuffer);
564 }
565 
glBindFramebufferOES(GLenum target,GLuint framebuffer)566 GL_API void GL_APIENTRY glBindFramebufferOES(GLenum target, GLuint framebuffer)
567 {
568 	return es1::BindFramebufferOES(target, framebuffer);
569 }
570 
glBindRenderbufferOES(GLenum target,GLuint renderbuffer)571 GL_API void GL_APIENTRY glBindRenderbufferOES(GLenum target, GLuint renderbuffer)
572 {
573 	return es1::BindRenderbufferOES(target, renderbuffer);
574 }
575 
glBindTexture(GLenum target,GLuint texture)576 GL_API void GL_APIENTRY glBindTexture(GLenum target, GLuint texture)
577 {
578 	return es1::BindTexture(target, texture);
579 }
580 
glBlendEquationOES(GLenum mode)581 GL_API void GL_APIENTRY glBlendEquationOES(GLenum mode)
582 {
583 	return es1::BlendEquationSeparateOES(mode, mode);
584 }
585 
glBlendEquationSeparateOES(GLenum modeRGB,GLenum modeAlpha)586 GL_API void GL_APIENTRY glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha)
587 {
588 	return es1::BlendEquationSeparateOES(modeRGB, modeAlpha);
589 }
590 
glBlendFunc(GLenum sfactor,GLenum dfactor)591 GL_API void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor)
592 {
593 	return es1::BlendFuncSeparateOES(sfactor, dfactor, sfactor, dfactor);
594 }
595 
glBlendFuncSeparateOES(GLenum srcRGB,GLenum dstRGB,GLenum srcAlpha,GLenum dstAlpha)596 GL_API void GL_APIENTRY glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
597 {
598 	return es1::BlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
599 }
600 
glBufferData(GLenum target,GLsizeiptr size,const GLvoid * data,GLenum usage)601 GL_API void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage)
602 {
603 	return es1::BufferData(target, size, data, usage);
604 }
605 
glBufferSubData(GLenum target,GLintptr offset,GLsizeiptr size,const GLvoid * data)606 GL_API void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data)
607 {
608 	return es1::BufferSubData(target, offset, size, data);
609 }
610 
glCheckFramebufferStatusOES(GLenum target)611 GL_API GLenum GL_APIENTRY glCheckFramebufferStatusOES(GLenum target)
612 {
613 	return es1::CheckFramebufferStatusOES(target);
614 }
615 
glClear(GLbitfield mask)616 GL_API void GL_APIENTRY glClear(GLbitfield mask)
617 {
618 	return es1::Clear(mask);
619 }
620 
glClearColor(GLclampf red,GLclampf green,GLclampf blue,GLclampf alpha)621 GL_API void GL_APIENTRY glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
622 {
623 	return es1::ClearColor(red, green, blue, alpha);
624 }
625 
glClearColorx(GLclampx red,GLclampx green,GLclampx blue,GLclampx alpha)626 GL_API void GL_APIENTRY glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha)
627 {
628 	return es1::ClearColorx(red, green, blue, alpha);
629 }
630 
glClearDepthf(GLclampf depth)631 GL_API void GL_APIENTRY glClearDepthf(GLclampf depth)
632 {
633 	return es1::ClearDepthf(depth);
634 }
635 
glClearDepthx(GLclampx depth)636 GL_API void GL_APIENTRY glClearDepthx(GLclampx depth)
637 {
638 	return es1::ClearDepthx(depth);
639 }
640 
glClearStencil(GLint s)641 GL_API void GL_APIENTRY glClearStencil(GLint s)
642 {
643 	return es1::ClearStencil(s);
644 }
645 
glClientActiveTexture(GLenum texture)646 GL_API void GL_APIENTRY glClientActiveTexture(GLenum texture)
647 {
648 	return es1::ClientActiveTexture(texture);
649 }
650 
glClipPlanef(GLenum plane,const GLfloat * equation)651 GL_API void GL_APIENTRY glClipPlanef(GLenum plane, const GLfloat *equation)
652 {
653 	return es1::ClipPlanef(plane, equation);
654 }
655 
glClipPlanex(GLenum plane,const GLfixed * equation)656 GL_API void GL_APIENTRY glClipPlanex(GLenum plane, const GLfixed *equation)
657 {
658 	return es1::ClipPlanex(plane, equation);
659 }
660 
glColor4f(GLfloat red,GLfloat green,GLfloat blue,GLfloat alpha)661 GL_API void GL_APIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
662 {
663 	return es1::Color4f(red, green, blue, alpha);
664 }
665 
glColor4ub(GLubyte red,GLubyte green,GLubyte blue,GLubyte alpha)666 GL_API void GL_APIENTRY glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)
667 {
668 	return es1::Color4ub(red, green, blue, alpha);
669 }
670 
glColor4x(GLfixed red,GLfixed green,GLfixed blue,GLfixed alpha)671 GL_API void GL_APIENTRY glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)
672 {
673 	return es1::Color4x(red, green, blue, alpha);
674 }
675 
glColorMask(GLboolean red,GLboolean green,GLboolean blue,GLboolean alpha)676 GL_API void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
677 {
678 	return es1::ColorMask(red, green, blue, alpha);
679 }
680 
glColorPointer(GLint size,GLenum type,GLsizei stride,const GLvoid * pointer)681 GL_API void GL_APIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
682 {
683 	return es1::ColorPointer(size, type, stride, pointer);
684 }
685 
glCompressedTexImage2D(GLenum target,GLint level,GLenum internalformat,GLsizei width,GLsizei height,GLint border,GLsizei imageSize,const GLvoid * data)686 GL_API void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height,
687                                                GLint border, GLsizei imageSize, const GLvoid* data)
688 {
689 	return es1::CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
690 }
691 
glCompressedTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLsizei imageSize,const GLvoid * data)692 GL_API void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
693                                                   GLenum format, GLsizei imageSize, const GLvoid* data)
694 {
695 	return es1::CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
696 }
697 
glCopyTexImage2D(GLenum target,GLint level,GLenum internalformat,GLint x,GLint y,GLsizei width,GLsizei height,GLint border)698 GL_API void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
699 {
700 	return es1::CopyTexImage2D(target, level, internalformat, x, y, width, height, border);
701 }
702 
glCopyTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLint x,GLint y,GLsizei width,GLsizei height)703 GL_API void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
704 {
705 	return es1::CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
706 }
707 
glCullFace(GLenum mode)708 GL_API void GL_APIENTRY glCullFace(GLenum mode)
709 {
710 	return es1::CullFace(mode);
711 }
712 
glDeleteBuffers(GLsizei n,const GLuint * buffers)713 GL_API void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint* buffers)
714 {
715 	return es1::DeleteBuffers(n, buffers);
716 }
717 
glDeleteFramebuffersOES(GLsizei n,const GLuint * framebuffers)718 GL_API void GL_APIENTRY glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers)
719 {
720 	return es1::DeleteFramebuffersOES(n, framebuffers);
721 }
722 
glDeleteRenderbuffersOES(GLsizei n,const GLuint * renderbuffers)723 GL_API void GL_APIENTRY glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers)
724 {
725 	return es1::DeleteRenderbuffersOES(n, renderbuffers);
726 }
727 
glDeleteTextures(GLsizei n,const GLuint * textures)728 GL_API void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint* textures)
729 {
730 	return es1::DeleteTextures(n, textures);
731 }
732 
glDepthFunc(GLenum func)733 GL_API void GL_APIENTRY glDepthFunc(GLenum func)
734 {
735 	return es1::DepthFunc(func);
736 }
737 
glDepthMask(GLboolean flag)738 GL_API void GL_APIENTRY glDepthMask(GLboolean flag)
739 {
740 	return es1::DepthMask(flag);
741 }
742 
glDepthRangex(GLclampx zNear,GLclampx zFar)743 GL_API void GL_APIENTRY glDepthRangex(GLclampx zNear, GLclampx zFar)
744 {
745 	return es1::DepthRangex(zNear, zFar);
746 }
747 
glDepthRangef(GLclampf zNear,GLclampf zFar)748 GL_API void GL_APIENTRY glDepthRangef(GLclampf zNear, GLclampf zFar)
749 {
750 	return es1::DepthRangef(zNear, zFar);
751 }
752 
glDisable(GLenum cap)753 GL_API void GL_APIENTRY glDisable(GLenum cap)
754 {
755 	return es1::Disable(cap);
756 }
757 
glDisableClientState(GLenum array)758 GL_API void GL_APIENTRY glDisableClientState(GLenum array)
759 {
760 	return es1::DisableClientState(array);
761 }
762 
glDrawArrays(GLenum mode,GLint first,GLsizei count)763 GL_API void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count)
764 {
765 	return es1::DrawArrays(mode, first, count);
766 }
767 
glDrawElements(GLenum mode,GLsizei count,GLenum type,const GLvoid * indices)768 GL_API void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)
769 {
770 	return es1::DrawElements(mode, count, type, indices);
771 }
772 
glEnable(GLenum cap)773 GL_API void GL_APIENTRY glEnable(GLenum cap)
774 {
775 	return es1::Enable(cap);
776 }
777 
glEnableClientState(GLenum array)778 GL_API void GL_APIENTRY glEnableClientState(GLenum array)
779 {
780 	return es1::EnableClientState(array);
781 }
782 
glFinish(void)783 GL_API void GL_APIENTRY glFinish(void)
784 {
785 	return es1::Finish();
786 }
787 
glFlush(void)788 GL_API void GL_APIENTRY glFlush(void)
789 {
790 	return es1::Flush();
791 }
792 
glFramebufferRenderbufferOES(GLenum target,GLenum attachment,GLenum renderbuffertarget,GLuint renderbuffer)793 GL_API void GL_APIENTRY glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
794 {
795 	return es1::FramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
796 }
797 
glFramebufferTexture2DOES(GLenum target,GLenum attachment,GLenum textarget,GLuint texture,GLint level)798 GL_API void GL_APIENTRY glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
799 {
800 	return es1::FramebufferTexture2DOES(target, attachment, textarget, texture, level);
801 }
802 
glFogf(GLenum pname,GLfloat param)803 GL_API void GL_APIENTRY glFogf(GLenum pname, GLfloat param)
804 {
805 	return es1::Fogf(pname, param);
806 }
807 
glFogfv(GLenum pname,const GLfloat * params)808 GL_API void GL_APIENTRY glFogfv(GLenum pname, const GLfloat *params)
809 {
810 	return es1::Fogfv(pname, params);
811 }
812 
glFogx(GLenum pname,GLfixed param)813 GL_API void GL_APIENTRY glFogx(GLenum pname, GLfixed param)
814 {
815 	return es1::Fogx(pname, param);
816 }
817 
glFogxv(GLenum pname,const GLfixed * params)818 GL_API void GL_APIENTRY glFogxv(GLenum pname, const GLfixed *params)
819 {
820 	return es1::Fogxv(pname, params);
821 }
822 
glFrontFace(GLenum mode)823 GL_API void GL_APIENTRY glFrontFace(GLenum mode)
824 {
825 	return es1::FrontFace(mode);
826 }
827 
glFrustumf(GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)828 GL_API void GL_APIENTRY glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
829 {
830 	return es1::Frustumf(left, right, bottom, top, zNear, zFar);
831 }
832 
glFrustumx(GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)833 GL_API void GL_APIENTRY glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
834 {
835 	return es1::Frustumx(left, right, bottom, top, zNear, zFar);
836 }
837 
glGenerateMipmapOES(GLenum target)838 GL_API void GL_APIENTRY glGenerateMipmapOES(GLenum target)
839 {
840 	return es1::GenerateMipmapOES(target);
841 }
842 
glGenBuffers(GLsizei n,GLuint * buffers)843 GL_API void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers)
844 {
845 	return es1::GenBuffers(n, buffers);
846 }
847 
glGenFramebuffersOES(GLsizei n,GLuint * framebuffers)848 GL_API void GL_APIENTRY glGenFramebuffersOES(GLsizei n, GLuint* framebuffers)
849 {
850 	return es1::GenFramebuffersOES(n, framebuffers);
851 }
852 
glGenRenderbuffersOES(GLsizei n,GLuint * renderbuffers)853 GL_API void GL_APIENTRY glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers)
854 {
855 	return es1::GenRenderbuffersOES(n, renderbuffers);
856 }
857 
glGenTextures(GLsizei n,GLuint * textures)858 GL_API void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures)
859 {
860 	return es1::GenTextures(n, textures);
861 }
862 
glGetRenderbufferParameterivOES(GLenum target,GLenum pname,GLint * params)863 GL_API void GL_APIENTRY glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params)
864 {
865 	return es1::GetRenderbufferParameterivOES(target, pname, params);
866 }
867 
glGetBooleanv(GLenum pname,GLboolean * params)868 GL_API void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* params)
869 {
870 	return es1::GetBooleanv(pname, params);
871 }
872 
glGetBufferParameteriv(GLenum target,GLenum pname,GLint * params)873 GL_API void GL_APIENTRY glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
874 {
875 	return es1::GetBufferParameteriv(target, pname, params);
876 }
877 
glGetClipPlanef(GLenum pname,GLfloat eqn[4])878 GL_API void GL_APIENTRY glGetClipPlanef(GLenum pname, GLfloat eqn[4])
879 {
880 	return es1::GetClipPlanef(pname, eqn);
881 }
882 
glGetClipPlanex(GLenum pname,GLfixed eqn[4])883 GL_API void GL_APIENTRY glGetClipPlanex(GLenum pname, GLfixed eqn[4])
884 {
885 	return es1::GetClipPlanex(pname, eqn);
886 }
887 
glGetError(void)888 GL_API GLenum GL_APIENTRY glGetError(void)
889 {
890 	return es1::GetError();
891 }
892 
glGetFixedv(GLenum pname,GLfixed * params)893 GL_API void GL_APIENTRY glGetFixedv(GLenum pname, GLfixed *params)
894 {
895 	return es1::GetFixedv(pname, params);
896 }
897 
glGetFloatv(GLenum pname,GLfloat * params)898 GL_API void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* params)
899 {
900 	return es1::GetFloatv(pname, params);
901 }
902 
glGetFramebufferAttachmentParameterivOES(GLenum target,GLenum attachment,GLenum pname,GLint * params)903 GL_API void GL_APIENTRY glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params)
904 {
905 	return es1::GetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
906 }
907 
glGetIntegerv(GLenum pname,GLint * params)908 GL_API void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* params)
909 {
910 	return es1::GetIntegerv(pname, params);
911 }
912 
glGetLightfv(GLenum light,GLenum pname,GLfloat * params)913 GL_API void GL_APIENTRY glGetLightfv(GLenum light, GLenum pname, GLfloat *params)
914 {
915 	return es1::GetLightfv(light, pname, params);
916 }
917 
glGetLightxv(GLenum light,GLenum pname,GLfixed * params)918 GL_API void GL_APIENTRY glGetLightxv(GLenum light, GLenum pname, GLfixed *params)
919 {
920 	return es1::GetLightxv(light, pname, params);
921 }
922 
glGetMaterialfv(GLenum face,GLenum pname,GLfloat * params)923 GL_API void GL_APIENTRY glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params)
924 {
925 	return es1::GetMaterialfv(face, pname, params);
926 }
927 
glGetMaterialxv(GLenum face,GLenum pname,GLfixed * params)928 GL_API void GL_APIENTRY glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params)
929 {
930 	return es1::GetMaterialxv(face, pname, params);
931 }
932 
glGetPointerv(GLenum pname,GLvoid ** params)933 GL_API void GL_APIENTRY glGetPointerv(GLenum pname, GLvoid **params)
934 {
935 	return es1::GetPointerv(pname, params);
936 }
937 
glGetString(GLenum name)938 GL_API const GLubyte* GL_APIENTRY glGetString(GLenum name)
939 {
940 	return es1::GetString(name);
941 }
942 
glGetTexParameterfv(GLenum target,GLenum pname,GLfloat * params)943 GL_API void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
944 {
945 	return es1::GetTexParameterfv(target, pname, params);
946 }
947 
glGetTexParameteriv(GLenum target,GLenum pname,GLint * params)948 GL_API void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
949 {
950 	return es1::GetTexParameteriv(target, pname, params);
951 }
952 
glGetTexEnvfv(GLenum env,GLenum pname,GLfloat * params)953 GL_API void GL_APIENTRY glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params)
954 {
955 	return es1::GetTexEnvfv(env, pname, params);
956 }
957 
glGetTexEnviv(GLenum env,GLenum pname,GLint * params)958 GL_API void GL_APIENTRY glGetTexEnviv(GLenum env, GLenum pname, GLint *params)
959 {
960 	return es1::GetTexEnviv(env, pname, params);
961 }
962 
glGetTexEnvxv(GLenum env,GLenum pname,GLfixed * params)963 GL_API void GL_APIENTRY glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params)
964 {
965 	return es1::GetTexEnvxv(env, pname, params);
966 }
967 
glGetTexParameterxv(GLenum target,GLenum pname,GLfixed * params)968 GL_API void GL_APIENTRY glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params)
969 {
970 	return es1::GetTexParameterxv(target, pname, params);
971 }
972 
glHint(GLenum target,GLenum mode)973 GL_API void GL_APIENTRY glHint(GLenum target, GLenum mode)
974 {
975 	return es1::Hint(target, mode);
976 }
977 
glIsBuffer(GLuint buffer)978 GL_API GLboolean GL_APIENTRY glIsBuffer(GLuint buffer)
979 {
980 	return es1::IsBuffer(buffer);
981 }
982 
glIsEnabled(GLenum cap)983 GL_API GLboolean GL_APIENTRY glIsEnabled(GLenum cap)
984 {
985 	return es1::IsEnabled(cap);
986 }
987 
glIsFramebufferOES(GLuint framebuffer)988 GL_API GLboolean GL_APIENTRY glIsFramebufferOES(GLuint framebuffer)
989 {
990 	return es1::IsFramebufferOES(framebuffer);
991 }
992 
glIsTexture(GLuint texture)993 GL_API GLboolean GL_APIENTRY glIsTexture(GLuint texture)
994 {
995 	return es1::IsTexture(texture);
996 }
997 
glIsRenderbufferOES(GLuint renderbuffer)998 GL_API GLboolean GL_APIENTRY glIsRenderbufferOES(GLuint renderbuffer)
999 {
1000 	return es1::IsRenderbufferOES(renderbuffer);
1001 }
1002 
glLightModelf(GLenum pname,GLfloat param)1003 GL_API void GL_APIENTRY glLightModelf(GLenum pname, GLfloat param)
1004 {
1005 	return es1::LightModelf(pname, param);
1006 }
1007 
glLightModelfv(GLenum pname,const GLfloat * params)1008 GL_API void GL_APIENTRY glLightModelfv(GLenum pname, const GLfloat *params)
1009 {
1010 	return es1::LightModelfv(pname, params);
1011 }
1012 
glLightModelx(GLenum pname,GLfixed param)1013 GL_API void GL_APIENTRY glLightModelx(GLenum pname, GLfixed param)
1014 {
1015 	return es1::LightModelx(pname, param);
1016 }
1017 
glLightModelxv(GLenum pname,const GLfixed * params)1018 GL_API void GL_APIENTRY glLightModelxv(GLenum pname, const GLfixed *params)
1019 {
1020 	return es1::LightModelxv(pname, params);
1021 }
1022 
glLightf(GLenum light,GLenum pname,GLfloat param)1023 GL_API void GL_APIENTRY glLightf(GLenum light, GLenum pname, GLfloat param)
1024 {
1025 	return es1::Lightf(light, pname, param);
1026 }
1027 
glLightfv(GLenum light,GLenum pname,const GLfloat * params)1028 GL_API void GL_APIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *params)
1029 {
1030 	return es1::Lightfv(light, pname, params);
1031 }
1032 
glLightx(GLenum light,GLenum pname,GLfixed param)1033 GL_API void GL_APIENTRY glLightx(GLenum light, GLenum pname, GLfixed param)
1034 {
1035 	return es1::Lightx(light, pname, param);
1036 }
1037 
glLightxv(GLenum light,GLenum pname,const GLfixed * params)1038 GL_API void GL_APIENTRY glLightxv(GLenum light, GLenum pname, const GLfixed *params)
1039 {
1040 	return es1::Lightxv(light, pname, params);
1041 }
1042 
glLineWidth(GLfloat width)1043 GL_API void GL_APIENTRY glLineWidth(GLfloat width)
1044 {
1045 	return es1::LineWidth(width);
1046 }
1047 
glLineWidthx(GLfixed width)1048 GL_API void GL_APIENTRY glLineWidthx(GLfixed width)
1049 {
1050 	return es1::LineWidthx(width);
1051 }
1052 
glLoadIdentity(void)1053 GL_API void GL_APIENTRY glLoadIdentity(void)
1054 {
1055 	return es1::LoadIdentity();
1056 }
1057 
glLoadMatrixf(const GLfloat * m)1058 GL_API void GL_APIENTRY glLoadMatrixf(const GLfloat *m)
1059 {
1060 	return es1::LoadMatrixf(m);
1061 }
1062 
glLoadMatrixx(const GLfixed * m)1063 GL_API void GL_APIENTRY glLoadMatrixx(const GLfixed *m)
1064 {
1065 	return es1::LoadMatrixx(m);
1066 }
1067 
glLogicOp(GLenum opcode)1068 GL_API void GL_APIENTRY glLogicOp(GLenum opcode)
1069 {
1070 	return es1::LogicOp(opcode);
1071 }
1072 
glMaterialf(GLenum face,GLenum pname,GLfloat param)1073 GL_API void GL_APIENTRY glMaterialf(GLenum face, GLenum pname, GLfloat param)
1074 {
1075 	return es1::Materialf(face, pname, param);
1076 }
1077 
glMaterialfv(GLenum face,GLenum pname,const GLfloat * params)1078 GL_API void GL_APIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *params)
1079 {
1080 	return es1::Materialfv(face, pname, params);
1081 }
1082 
glMaterialx(GLenum face,GLenum pname,GLfixed param)1083 GL_API void GL_APIENTRY glMaterialx(GLenum face, GLenum pname, GLfixed param)
1084 {
1085 	return es1::Materialx(face, pname, param);
1086 }
1087 
glMaterialxv(GLenum face,GLenum pname,const GLfixed * params)1088 GL_API void GL_APIENTRY glMaterialxv(GLenum face, GLenum pname, const GLfixed *params)
1089 {
1090 	return es1::Materialxv(face, pname, params);
1091 }
1092 
glMatrixMode(GLenum mode)1093 GL_API void GL_APIENTRY glMatrixMode(GLenum mode)
1094 {
1095 	return es1::MatrixMode(mode);
1096 }
1097 
glMultMatrixf(const GLfloat * m)1098 GL_API void GL_APIENTRY glMultMatrixf(const GLfloat *m)
1099 {
1100 	return es1::MultMatrixf(m);
1101 }
1102 
glMultMatrixx(const GLfixed * m)1103 GL_API void GL_APIENTRY glMultMatrixx(const GLfixed *m)
1104 {
1105 	return es1::MultMatrixx(m);
1106 }
1107 
glMultiTexCoord4f(GLenum target,GLfloat s,GLfloat t,GLfloat r,GLfloat q)1108 GL_API void GL_APIENTRY glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
1109 {
1110 	return es1::MultiTexCoord4f(target, s, t, r, q);
1111 }
1112 
glMultiTexCoord4x(GLenum target,GLfixed s,GLfixed t,GLfixed r,GLfixed q)1113 GL_API void GL_APIENTRY glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q)
1114 {
1115 	return es1::MultiTexCoord4x(target, s, t, r, q);
1116 }
1117 
glNormal3f(GLfloat nx,GLfloat ny,GLfloat nz)1118 GL_API void GL_APIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)
1119 {
1120 	return es1::Normal3f(nx, ny, nz);
1121 }
1122 
glNormal3x(GLfixed nx,GLfixed ny,GLfixed nz)1123 GL_API void GL_APIENTRY glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz)
1124 {
1125 	return es1::Normal3x(nx, ny, nz);
1126 }
1127 
glNormalPointer(GLenum type,GLsizei stride,const GLvoid * pointer)1128 GL_API void GL_APIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)
1129 {
1130 	return es1::NormalPointer(type, stride, pointer);
1131 }
1132 
glOrthof(GLfloat left,GLfloat right,GLfloat bottom,GLfloat top,GLfloat zNear,GLfloat zFar)1133 GL_API void GL_APIENTRY glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
1134 {
1135 	return es1::Orthof(left, right, bottom, top, zNear, zFar);
1136 }
1137 
glOrthox(GLfixed left,GLfixed right,GLfixed bottom,GLfixed top,GLfixed zNear,GLfixed zFar)1138 GL_API void GL_APIENTRY glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar)
1139 {
1140 	return es1::Orthox(left, right, bottom, top, zNear, zFar);
1141 }
1142 
glPixelStorei(GLenum pname,GLint param)1143 GL_API void GL_APIENTRY glPixelStorei(GLenum pname, GLint param)
1144 {
1145 	return es1::PixelStorei(pname, param);
1146 }
1147 
glPointParameterf(GLenum pname,GLfloat param)1148 GL_API void GL_APIENTRY glPointParameterf(GLenum pname, GLfloat param)
1149 {
1150 	return es1::PointParameterf(pname, param);
1151 }
1152 
glPointParameterfv(GLenum pname,const GLfloat * params)1153 GL_API void GL_APIENTRY glPointParameterfv(GLenum pname, const GLfloat *params)
1154 {
1155 	return es1::PointParameterfv(pname, params);
1156 }
1157 
glPointParameterx(GLenum pname,GLfixed param)1158 GL_API void GL_APIENTRY glPointParameterx(GLenum pname, GLfixed param)
1159 {
1160 	return es1::PointParameterx(pname, param);
1161 }
1162 
glPointParameterxv(GLenum pname,const GLfixed * params)1163 GL_API void GL_APIENTRY glPointParameterxv(GLenum pname, const GLfixed *params)
1164 {
1165 	return es1::PointParameterxv(pname, params);
1166 }
1167 
glPointSize(GLfloat size)1168 GL_API void GL_APIENTRY glPointSize(GLfloat size)
1169 {
1170 	return es1::PointSize(size);
1171 }
1172 
glPointSizePointerOES(GLenum type,GLsizei stride,const GLvoid * pointer)1173 GL_API void GL_APIENTRY glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer)
1174 {
1175 	return es1::PointSizePointerOES(type, stride, pointer);
1176 }
1177 
glPointSizex(GLfixed size)1178 GL_API void GL_APIENTRY glPointSizex(GLfixed size)
1179 {
1180 	return es1::PointSizex(size);
1181 }
1182 
glPolygonOffset(GLfloat factor,GLfloat units)1183 GL_API void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units)
1184 {
1185 	return es1::PolygonOffset(factor, units);
1186 }
1187 
glPolygonOffsetx(GLfixed factor,GLfixed units)1188 GL_API void GL_APIENTRY glPolygonOffsetx(GLfixed factor, GLfixed units)
1189 {
1190 	return es1::PolygonOffsetx(factor, units);
1191 }
1192 
glPopMatrix(void)1193 GL_API void GL_APIENTRY glPopMatrix(void)
1194 {
1195 	return es1::PopMatrix();
1196 }
1197 
glPushMatrix(void)1198 GL_API void GL_APIENTRY glPushMatrix(void)
1199 {
1200 	return es1::PushMatrix();
1201 }
1202 
glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * pixels)1203 GL_API void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)
1204 {
1205 	return es1::ReadPixels(x, y, width, height, format, type, pixels);
1206 }
1207 
glRenderbufferStorageOES(GLenum target,GLenum internalformat,GLsizei width,GLsizei height)1208 GL_API void GL_APIENTRY glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
1209 {
1210 	return es1::RenderbufferStorageOES(target, internalformat, width, height);
1211 }
1212 
glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)1213 GL_API void GL_APIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
1214 {
1215 	return es1::Rotatef(angle, x, y, z);
1216 }
1217 
glRotatex(GLfixed angle,GLfixed x,GLfixed y,GLfixed z)1218 GL_API void GL_APIENTRY glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)
1219 {
1220 	return es1::Rotatex(angle, x, y, z);
1221 }
1222 
glSampleCoverage(GLclampf value,GLboolean invert)1223 GL_API void GL_APIENTRY glSampleCoverage(GLclampf value, GLboolean invert)
1224 {
1225 	return es1::SampleCoverage(value, invert);
1226 }
1227 
glSampleCoveragex(GLclampx value,GLboolean invert)1228 GL_API void GL_APIENTRY glSampleCoveragex(GLclampx value, GLboolean invert)
1229 {
1230 	return es1::SampleCoveragex(value, invert);
1231 }
1232 
glScalef(GLfloat x,GLfloat y,GLfloat z)1233 GL_API void GL_APIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z)
1234 {
1235 	return es1::Scalef(x, y, z);
1236 }
1237 
glScalex(GLfixed x,GLfixed y,GLfixed z)1238 GL_API void GL_APIENTRY glScalex(GLfixed x, GLfixed y, GLfixed z)
1239 {
1240 	return es1::Scalex(x, y, z);
1241 }
1242 
glScissor(GLint x,GLint y,GLsizei width,GLsizei height)1243 GL_API void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
1244 {
1245 	return es1::Scissor(x, y, width, height);
1246 }
1247 
glShadeModel(GLenum mode)1248 GL_API void GL_APIENTRY glShadeModel(GLenum mode)
1249 {
1250 	return es1::ShadeModel(mode);
1251 }
1252 
glStencilFunc(GLenum func,GLint ref,GLuint mask)1253 GL_API void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask)
1254 {
1255 	return es1::StencilFunc(func, ref, mask);
1256 }
1257 
glStencilMask(GLuint mask)1258 GL_API void GL_APIENTRY glStencilMask(GLuint mask)
1259 {
1260 	return es1::StencilMask(mask);
1261 }
1262 
glStencilOp(GLenum fail,GLenum zfail,GLenum zpass)1263 GL_API void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
1264 {
1265 	return es1::StencilOp(fail, zfail, zpass);
1266 }
1267 
glTexCoordPointer(GLint size,GLenum type,GLsizei stride,const GLvoid * pointer)1268 GL_API void GL_APIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1269 {
1270 	return es1::TexCoordPointer(size, type, stride, pointer);
1271 }
1272 
glTexEnvf(GLenum target,GLenum pname,GLfloat param)1273 GL_API void GL_APIENTRY glTexEnvf(GLenum target, GLenum pname, GLfloat param)
1274 {
1275 	return es1::TexEnvf(target, pname, param);
1276 }
1277 
glTexEnvfv(GLenum target,GLenum pname,const GLfloat * params)1278 GL_API void GL_APIENTRY glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
1279 {
1280 	return es1::TexEnvfv(target, pname, params);
1281 }
1282 
glTexEnvi(GLenum target,GLenum pname,GLint param)1283 GL_API void GL_APIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param)
1284 {
1285 	return es1::TexEnvi(target, pname, param);
1286 }
1287 
glTexEnvx(GLenum target,GLenum pname,GLfixed param)1288 GL_API void GL_APIENTRY glTexEnvx(GLenum target, GLenum pname, GLfixed param)
1289 {
1290 	return es1::TexEnvx(target, pname, param);
1291 }
1292 
glTexEnviv(GLenum target,GLenum pname,const GLint * params)1293 GL_API void GL_APIENTRY glTexEnviv(GLenum target, GLenum pname, const GLint *params)
1294 {
1295 	return es1::TexEnviv(target, pname, params);
1296 }
1297 
glTexEnvxv(GLenum target,GLenum pname,const GLfixed * params)1298 GL_API void GL_APIENTRY glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params)
1299 {
1300 	return es1::TexEnvxv(target, pname, params);
1301 }
1302 
glTexImage2D(GLenum target,GLint level,GLint internalformat,GLsizei width,GLsizei height,GLint border,GLenum format,GLenum type,const GLvoid * pixels)1303 GL_API void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height,
1304                                      GLint border, GLenum format, GLenum type, const GLvoid* pixels)
1305 {
1306 	return es1::TexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
1307 }
1308 
glTexParameterf(GLenum target,GLenum pname,GLfloat param)1309 GL_API void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param)
1310 {
1311 	return es1::TexParameterf(target, pname, param);
1312 }
1313 
glTexParameterfv(GLenum target,GLenum pname,const GLfloat * params)1314 GL_API void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
1315 {
1316 	return es1::TexParameterfv(target, pname, params);
1317 }
1318 
glTexParameteri(GLenum target,GLenum pname,GLint param)1319 GL_API void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param)
1320 {
1321 	return es1::TexParameteri(target, pname, param);
1322 }
1323 
glTexParameteriv(GLenum target,GLenum pname,const GLint * params)1324 GL_API void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, const GLint* params)
1325 {
1326 	return es1::TexParameteriv(target, pname, params);
1327 }
1328 
glTexParameterx(GLenum target,GLenum pname,GLfixed param)1329 GL_API void GL_APIENTRY glTexParameterx(GLenum target, GLenum pname, GLfixed param)
1330 {
1331 	return es1::TexParameterx(target, pname, param);
1332 }
1333 
glTexParameterxv(GLenum target,GLenum pname,const GLfixed * params)1334 GL_API void GL_APIENTRY glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params)
1335 {
1336 	return es1::TexParameterxv(target, pname, params);
1337 }
1338 
glTexSubImage2D(GLenum target,GLint level,GLint xoffset,GLint yoffset,GLsizei width,GLsizei height,GLenum format,GLenum type,const GLvoid * pixels)1339 GL_API void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
1340                                         GLenum format, GLenum type, const GLvoid* pixels)
1341 {
1342 	return es1::TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
1343 }
1344 
glTranslatef(GLfloat x,GLfloat y,GLfloat z)1345 GL_API void GL_APIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z)
1346 {
1347 	return es1::Translatef(x, y, z);
1348 }
1349 
glTranslatex(GLfixed x,GLfixed y,GLfixed z)1350 GL_API void GL_APIENTRY glTranslatex(GLfixed x, GLfixed y, GLfixed z)
1351 {
1352 	return es1::Translatex(x, y, z);
1353 }
1354 
glVertexPointer(GLint size,GLenum type,GLsizei stride,const GLvoid * pointer)1355 GL_API void GL_APIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)
1356 {
1357 	return es1::VertexPointer(size, type, stride, pointer);
1358 }
1359 
glViewport(GLint x,GLint y,GLsizei width,GLsizei height)1360 GL_API void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
1361 {
1362 	return es1::Viewport(x, y, width, height);
1363 }
1364 
glEGLImageTargetTexture2DOES(GLenum target,GLeglImageOES image)1365 GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
1366 {
1367 	return es1::EGLImageTargetTexture2DOES(target, image);
1368 }
1369 
glEGLImageTargetRenderbufferStorageOES(GLenum target,GLeglImageOES image)1370 GL_API void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image)
1371 {
1372 	return es1::EGLImageTargetRenderbufferStorageOES(target, image);
1373 }
1374 
glDrawTexsOES(GLshort x,GLshort y,GLshort z,GLshort width,GLshort height)1375 GL_API void GL_APIENTRY glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height)
1376 {
1377 	return es1::DrawTexsOES(x,y, z, width, height);
1378 }
1379 
glDrawTexiOES(GLint x,GLint y,GLint z,GLint width,GLint height)1380 GL_API void GL_APIENTRY glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height)
1381 {
1382 	return es1::DrawTexiOES(x,y, z, width, height);
1383 }
1384 
glDrawTexxOES(GLfixed x,GLfixed y,GLfixed z,GLfixed width,GLfixed height)1385 GL_API void GL_APIENTRY glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height)
1386 {
1387 	return es1::DrawTexxOES(x,y, z, width, height);
1388 }
1389 
glDrawTexsvOES(const GLshort * coords)1390 GL_API void GL_APIENTRY glDrawTexsvOES(const GLshort *coords)
1391 {
1392 	return es1::DrawTexsvOES(coords);
1393 }
1394 
glDrawTexivOES(const GLint * coords)1395 GL_API void GL_APIENTRY glDrawTexivOES(const GLint *coords)
1396 {
1397 	return es1::DrawTexivOES(coords);
1398 }
1399 
glDrawTexxvOES(const GLfixed * coords)1400 GL_API void GL_APIENTRY glDrawTexxvOES(const GLfixed *coords)
1401 {
1402 	return es1::DrawTexxvOES(coords);
1403 }
1404 
glDrawTexfOES(GLfloat x,GLfloat y,GLfloat z,GLfloat width,GLfloat height)1405 GL_API void GL_APIENTRY glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height)
1406 {
1407 	return es1::DrawTexfOES(x, y, z, width, height);
1408 }
1409 
glDrawTexfvOES(const GLfloat * coords)1410 GL_API void GL_APIENTRY glDrawTexfvOES(const GLfloat *coords)
1411 {
1412 	return es1::DrawTexfvOES(coords);
1413 }
1414 }
1415 
LibGLES_CMexports()1416 LibGLES_CMexports::LibGLES_CMexports()
1417 {
1418 	this->glActiveTexture = es1::ActiveTexture;
1419 	this->glAlphaFunc = es1::AlphaFunc;
1420 	this->glAlphaFuncx = es1::AlphaFuncx;
1421 	this->glBindBuffer = es1::BindBuffer;
1422 	this->glBindFramebuffer = es1::BindFramebuffer;
1423 	this->glBindFramebufferOES = es1::BindFramebufferOES;
1424 	this->glBindRenderbufferOES = es1::BindRenderbufferOES;
1425 	this->glBindTexture = es1::BindTexture;
1426 	this->glBlendEquationSeparateOES = es1::BlendEquationSeparateOES;
1427 	this->glBlendEquationOES = es1::BlendEquationOES;
1428 	this->glBlendEquationSeparateOES = es1::BlendEquationSeparateOES;
1429 	this->glBlendFuncSeparateOES = es1::BlendFuncSeparateOES;
1430 	this->glBlendFunc = es1::BlendFunc;
1431 	this->glBlendFuncSeparateOES = es1::BlendFuncSeparateOES;
1432 	this->glBufferData = es1::BufferData;
1433 	this->glBufferSubData = es1::BufferSubData;
1434 	this->glCheckFramebufferStatusOES = es1::CheckFramebufferStatusOES;
1435 	this->glClear = es1::Clear;
1436 	this->glClearColor = es1::ClearColor;
1437 	this->glClearColorx = es1::ClearColorx;
1438 	this->glClearDepthf = es1::ClearDepthf;
1439 	this->glClearDepthx = es1::ClearDepthx;
1440 	this->glClearStencil = es1::ClearStencil;
1441 	this->glClientActiveTexture = es1::ClientActiveTexture;
1442 	this->glClipPlanef = es1::ClipPlanef;
1443 	this->glClipPlanex = es1::ClipPlanex;
1444 	this->glColor4f = es1::Color4f;
1445 	this->glColor4ub = es1::Color4ub;
1446 	this->glColor4x = es1::Color4x;
1447 	this->glColorMask = es1::ColorMask;
1448 	this->glColorPointer = es1::ColorPointer;
1449 	this->glCompressedTexImage2D = es1::CompressedTexImage2D;
1450 	this->glCompressedTexSubImage2D = es1::CompressedTexSubImage2D;
1451 	this->glCopyTexImage2D = es1::CopyTexImage2D;
1452 	this->glCopyTexSubImage2D = es1::CopyTexSubImage2D;
1453 	this->glCullFace = es1::CullFace;
1454 	this->glDeleteBuffers = es1::DeleteBuffers;
1455 	this->glDeleteFramebuffersOES = es1::DeleteFramebuffersOES;
1456 	this->glDeleteRenderbuffersOES = es1::DeleteRenderbuffersOES;
1457 	this->glDeleteTextures = es1::DeleteTextures;
1458 	this->glDepthFunc = es1::DepthFunc;
1459 	this->glDepthMask = es1::DepthMask;
1460 	this->glDepthRangex = es1::DepthRangex;
1461 	this->glDepthRangef = es1::DepthRangef;
1462 	this->glDisable = es1::Disable;
1463 	this->glDisableClientState = es1::DisableClientState;
1464 	this->glDrawArrays = es1::DrawArrays;
1465 	this->glDrawElements = es1::DrawElements;
1466 	this->glEnable = es1::Enable;
1467 	this->glEnableClientState = es1::EnableClientState;
1468 	this->glFinish = es1::Finish;
1469 	this->glFlush = es1::Flush;
1470 	this->glFramebufferRenderbufferOES = es1::FramebufferRenderbufferOES;
1471 	this->glFramebufferTexture2DOES = es1::FramebufferTexture2DOES;
1472 	this->glFogf = es1::Fogf;
1473 	this->glFogfv = es1::Fogfv;
1474 	this->glFogx = es1::Fogx;
1475 	this->glFogxv = es1::Fogxv;
1476 	this->glFrontFace = es1::FrontFace;
1477 	this->glFrustumf = es1::Frustumf;
1478 	this->glFrustumx = es1::Frustumx;
1479 	this->glGenerateMipmapOES = es1::GenerateMipmapOES;
1480 	this->glGenBuffers = es1::GenBuffers;
1481 	this->glGenFramebuffersOES = es1::GenFramebuffersOES;
1482 	this->glGenRenderbuffersOES = es1::GenRenderbuffersOES;
1483 	this->glGenTextures = es1::GenTextures;
1484 	this->glGetRenderbufferParameterivOES = es1::GetRenderbufferParameterivOES;
1485 	this->glGetBooleanv = es1::GetBooleanv;
1486 	this->glGetBufferParameteriv = es1::GetBufferParameteriv;
1487 	this->glGetClipPlanef = es1::GetClipPlanef;
1488 	this->glGetClipPlanex = es1::GetClipPlanex;
1489 	this->glGetError = es1::GetError;
1490 	this->glGetFixedv = es1::GetFixedv;
1491 	this->glGetFloatv = es1::GetFloatv;
1492 	this->glGetFramebufferAttachmentParameterivOES = es1::GetFramebufferAttachmentParameterivOES;
1493 	this->glGetIntegerv = es1::GetIntegerv;
1494 	this->glGetLightfv = es1::GetLightfv;
1495 	this->glGetLightxv = es1::GetLightxv;
1496 	this->glGetMaterialfv = es1::GetMaterialfv;
1497 	this->glGetMaterialxv = es1::GetMaterialxv;
1498 	this->glGetPointerv = es1::GetPointerv;
1499 	this->glGetString = es1::GetString;
1500 	this->glGetTexParameterfv = es1::GetTexParameterfv;
1501 	this->glGetTexParameteriv = es1::GetTexParameteriv;
1502 	this->glGetTexEnvfv = es1::GetTexEnvfv;
1503 	this->glGetTexEnviv = es1::GetTexEnviv;
1504 	this->glGetTexEnvxv = es1::GetTexEnvxv;
1505 	this->glGetTexParameterxv = es1::GetTexParameterxv;
1506 	this->glHint = es1::Hint;
1507 	this->glIsBuffer = es1::IsBuffer;
1508 	this->glIsEnabled = es1::IsEnabled;
1509 	this->glIsFramebufferOES = es1::IsFramebufferOES;
1510 	this->glIsTexture = es1::IsTexture;
1511 	this->glIsRenderbufferOES = es1::IsRenderbufferOES;
1512 	this->glLightModelf = es1::LightModelf;
1513 	this->glLightModelfv = es1::LightModelfv;
1514 	this->glLightModelx = es1::LightModelx;
1515 	this->glLightModelxv = es1::LightModelxv;
1516 	this->glLightf = es1::Lightf;
1517 	this->glLightfv = es1::Lightfv;
1518 	this->glLightx = es1::Lightx;
1519 	this->glLightxv = es1::Lightxv;
1520 	this->glLineWidth = es1::LineWidth;
1521 	this->glLineWidthx = es1::LineWidthx;
1522 	this->glLoadIdentity = es1::LoadIdentity;
1523 	this->glLoadMatrixf = es1::LoadMatrixf;
1524 	this->glLoadMatrixx = es1::LoadMatrixx;
1525 	this->glLogicOp = es1::LogicOp;
1526 	this->glMaterialf = es1::Materialf;
1527 	this->glMaterialfv = es1::Materialfv;
1528 	this->glMaterialx = es1::Materialx;
1529 	this->glMaterialxv = es1::Materialxv;
1530 	this->glMatrixMode = es1::MatrixMode;
1531 	this->glMultMatrixf = es1::MultMatrixf;
1532 	this->glMultMatrixx = es1::MultMatrixx;
1533 	this->glMultiTexCoord4f = es1::MultiTexCoord4f;
1534 	this->glMultiTexCoord4x = es1::MultiTexCoord4x;
1535 	this->glNormal3f = es1::Normal3f;
1536 	this->glNormal3x = es1::Normal3x;
1537 	this->glNormalPointer = es1::NormalPointer;
1538 	this->glOrthof = es1::Orthof;
1539 	this->glOrthox = es1::Orthox;
1540 	this->glPixelStorei = es1::PixelStorei;
1541 	this->glPointParameterf = es1::PointParameterf;
1542 	this->glPointParameterfv = es1::PointParameterfv;
1543 	this->glPointParameterx = es1::PointParameterx;
1544 	this->glPointParameterxv = es1::PointParameterxv;
1545 	this->glPointSize = es1::PointSize;
1546 	this->glPointSizePointerOES = es1::PointSizePointerOES;
1547 	this->glPointSizex = es1::PointSizex;
1548 	this->glPolygonOffset = es1::PolygonOffset;
1549 	this->glPolygonOffsetx = es1::PolygonOffsetx;
1550 	this->glPopMatrix = es1::PopMatrix;
1551 	this->glPushMatrix = es1::PushMatrix;
1552 	this->glReadPixels = es1::ReadPixels;
1553 	this->glRenderbufferStorageOES = es1::RenderbufferStorageOES;
1554 	this->glRotatef = es1::Rotatef;
1555 	this->glRotatex = es1::Rotatex;
1556 	this->glSampleCoverage = es1::SampleCoverage;
1557 	this->glSampleCoveragex = es1::SampleCoveragex;
1558 	this->glScalef = es1::Scalef;
1559 	this->glScalex = es1::Scalex;
1560 	this->glScissor = es1::Scissor;
1561 	this->glShadeModel = es1::ShadeModel;
1562 	this->glStencilFunc = es1::StencilFunc;
1563 	this->glStencilMask = es1::StencilMask;
1564 	this->glStencilOp = es1::StencilOp;
1565 	this->glTexCoordPointer = es1::TexCoordPointer;
1566 	this->glTexEnvf = es1::TexEnvf;
1567 	this->glTexEnvfv = es1::TexEnvfv;
1568 	this->glTexEnvi = es1::TexEnvi;
1569 	this->glTexEnvx = es1::TexEnvx;
1570 	this->glTexEnviv = es1::TexEnviv;
1571 	this->glTexEnvxv = es1::TexEnvxv;
1572 	this->glTexImage2D = es1::TexImage2D;
1573 	this->glTexParameterf = es1::TexParameterf;
1574 	this->glTexParameterfv = es1::TexParameterfv;
1575 	this->glTexParameteri = es1::TexParameteri;
1576 	this->glTexParameteriv = es1::TexParameteriv;
1577 	this->glTexParameterx = es1::TexParameterx;
1578 	this->glTexParameterxv = es1::TexParameterxv;
1579 	this->glTexSubImage2D = es1::TexSubImage2D;
1580 	this->glTranslatef = es1::Translatef;
1581 	this->glTranslatex = es1::Translatex;
1582 	this->glVertexPointer = es1::VertexPointer;
1583 	this->glViewport = es1::Viewport;
1584 	this->glEGLImageTargetTexture2DOES = es1::EGLImageTargetTexture2DOES;
1585 	this->glEGLImageTargetRenderbufferStorageOES = es1::EGLImageTargetRenderbufferStorageOES;
1586 	this->glDrawTexsOES = es1::DrawTexsOES;
1587 	this->glDrawTexiOES = es1::DrawTexiOES;
1588 	this->glDrawTexxOES = es1::DrawTexxOES;
1589 	this->glDrawTexsvOES = es1::DrawTexsvOES;
1590 	this->glDrawTexivOES = es1::DrawTexivOES;
1591 	this->glDrawTexxvOES = es1::DrawTexxvOES;
1592 	this->glDrawTexfOES = es1::DrawTexfOES;
1593 	this->glDrawTexfvOES = es1::DrawTexfvOES;
1594 
1595 	this->es1CreateContext = ::es1CreateContext;
1596 	this->es1GetProcAddress = ::es1GetProcAddress;
1597 	this->createBackBuffer = ::createBackBuffer;
1598 	this->createDepthStencil = ::createDepthStencil;
1599 	this->createFrameBuffer = ::createFrameBuffer;
1600 }
1601 
libGLES_CM_swiftshader()1602 extern "C" GL_API LibGLES_CMexports *libGLES_CM_swiftshader()
1603 {
1604 	static LibGLES_CMexports libGLES_CM;
1605 	return &libGLES_CM;
1606 }
1607 
1608 LibEGL libEGL;
1609