hostsupport/hostopengles11/inc/GLESDesktopGL.h
branchbug235_bringup_0
changeset 53 c2ef9095503a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hostsupport/hostopengles11/inc/GLESDesktopGL.h	Wed Oct 06 17:59:01 2010 +0100
@@ -0,0 +1,177 @@
+/* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and /or associated documentation files
+ * (the "Materials "), to deal in the Materials without restriction,
+ * including without limitation the rights to use, copy, modify, merge,
+ * publish, distribute, sublicense, and/or sell copies of the Materials,
+ * and to permit persons to whom the Materials are furnished to do so,
+ * subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Materials.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
+ * THE USE OR OTHER DEALINGS IN THE MATERIALS.
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ *
+ */
+
+#ifndef _DESKTOPGL_H_
+#define _DESKTOPGL_H_
+
+#include <GLES/gl.h>
+#include "glesInternal.h"
+
+class GLESDesktopGL
+{
+public:
+	GLESDesktopGL();
+
+	bool Load();
+
+	void (GL_APIENTRY *glActiveTexture) ( GLenum texture );
+	void (GL_APIENTRY *glAlphaFunc) (GLenum func, GLclampf ref);
+	void (GL_APIENTRY *glBegin)( GLenum mode );
+	void (GL_APIENTRY *glBindBuffer) (GLenum target, GLuint buffer);
+	void (GL_APIENTRY *glBindTexture) (GLenum target, GLuint texture);
+	void (GL_APIENTRY *glBlendFunc) (GLenum sfactor, GLenum dfactor);
+	void (GL_APIENTRY *glBufferData) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
+	void (GL_APIENTRY *glBufferSubData) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
+	void (GL_APIENTRY *glClear) (GLbitfield mask);
+	void (GL_APIENTRY *glClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
+	void (GL_APIENTRY *glClearDepth) (GLclampd depth);
+	void (GL_APIENTRY *glClearStencil) (GLint s);
+	void (GL_APIENTRY *glClientActiveTexture) ( GLenum texture );
+	void (GL_APIENTRY *glClipPlane) (GLenum plane, const GLdouble *equation);
+	void (GL_APIENTRY *glColor4d) (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
+	void (GL_APIENTRY *glColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
+	void (GL_APIENTRY *glColor4fv) ( const GLfloat *v );
+	void (GL_APIENTRY *glColor4ub) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
+	void (GL_APIENTRY *glColor4ubv) ( const GLubyte *v );
+	void (GL_APIENTRY *glColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
+	void (GL_APIENTRY *glColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+	void (GL_APIENTRY *glCompressedTexImage2D) ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
+	void (GL_APIENTRY *glCompressedTexSubImage2D) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
+	void (GL_APIENTRY *glCopyTexImage2D) (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
+	void (GL_APIENTRY *glCopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
+	void (GL_APIENTRY *glCullFace) (GLenum mode);
+	void (GL_APIENTRY *glDeleteBuffers) (GLsizei n, const GLuint *buffers);
+	void (GL_APIENTRY *glDeleteTextures) (GLsizei n, const GLuint *textures);
+	void (GL_APIENTRY *glDepthFunc) (GLenum func);
+	void (GL_APIENTRY *glDepthMask) (GLboolean flag);
+	void (GL_APIENTRY *glDepthRange) (GLclampd zNear, GLclampd zFar);
+	void (GL_APIENTRY *glDisable) (GLenum cap);
+	void (GL_APIENTRY *glDisableClientState) (GLenum array);
+	void (GL_APIENTRY *glDrawArrays) (GLenum mode, GLint first, GLsizei count);
+	void (GL_APIENTRY *glDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
+	void (GL_APIENTRY *glEnable) (GLenum cap);
+	void (GL_APIENTRY *glEnableClientState) (GLenum array);
+	void (GL_APIENTRY *glEnd) ( void );
+	void (GL_APIENTRY *glFinish) (void);
+	void (GL_APIENTRY *glFlush) (void);
+	void (GL_APIENTRY *glFogf) (GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glFogfv) (GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glFrontFace) (GLenum mode);
+	void (GL_APIENTRY *glFrustum) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+	void (GL_APIENTRY *glGenBuffers) (GLsizei n, GLuint *buffers);
+	void (GL_APIENTRY *glGenTextures) (GLsizei n, GLuint *textures);
+	void (GL_APIENTRY *glGetBooleanv) (GLenum pname, GLboolean *params);
+	void (GL_APIENTRY *glGetBufferParameteriv) (GLenum, GLenum, GLint *);
+	void (GL_APIENTRY *glGetClipPlane) (GLenum plane, GLdouble *equation);
+	void (GL_APIENTRY *glGetDoublev) ( GLenum pname, GLdouble *params );
+	GLenum (GL_APIENTRY *glGetError) (void);
+	void (GL_APIENTRY *glGetFloatv) (GLenum pname, GLfloat *params);
+	void (GL_APIENTRY *glGetIntegerv) (GLenum pname, GLint *params);
+	void (GL_APIENTRY *glGetLightfv) (GLenum light, GLenum pname, GLfloat *params);
+	void (GL_APIENTRY *glGetMaterialfv) (GLenum face, GLenum pname, GLfloat *params);
+	void (GL_APIENTRY *glGetPointerv) (GLenum pname, GLvoid* *params);
+	const GLubyte * (GL_APIENTRY *glGetString) (GLenum name);
+	void (GL_APIENTRY *glGetTexEnvfv) (GLenum target, GLenum pname, GLfloat *params);
+	void (GL_APIENTRY *glGetTexEnviv) (GLenum target, GLenum pname, GLint *params);
+	void (GL_APIENTRY *glGetTexParameterfv) (GLenum target, GLenum pname, GLfloat *params);
+	void (GL_APIENTRY *glGetTexParameteriv) (GLenum target, GLenum pname, GLint *params);
+	void (GL_APIENTRY *glHint) (GLenum target, GLenum mode);
+	GLboolean (GL_APIENTRY *glIsBuffer) (GLuint);
+	GLboolean (GL_APIENTRY *glIsEnabled) (GLenum cap);
+	GLboolean (GL_APIENTRY *glIsTexture) (GLuint texture);
+	void (GL_APIENTRY *glLightf) (GLenum light, GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glLightfv) (GLenum light, GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glLightModelf) (GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glLightModelfv) (GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glLineWidth) (GLfloat width);
+	void (GL_APIENTRY *glLoadIdentity) (void);
+	void (GL_APIENTRY *glLoadMatrixf) (const GLfloat *m);
+	void (GL_APIENTRY *glLogicOp) (GLenum opcode);
+	void (GL_APIENTRY *glMaterialf) (GLenum face, GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glMaterialfv) (GLenum face, GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glMultiTexCoord2fv) ( GLenum target, const GLfloat *v );
+	void (GL_APIENTRY *glMultiTexCoord2sv) ( GLenum target, const GLshort *v );
+	void (GL_APIENTRY *glMultiTexCoord3fv) ( GLenum target, const GLfloat *v );
+	void (GL_APIENTRY *glMultiTexCoord3sv) ( GLenum target, const GLshort *v );
+	void (GL_APIENTRY *glMultiTexCoord4f) ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
+	void (GL_APIENTRY *glMultiTexCoord4fv) ( GLenum target, const GLfloat *v );
+	void (GL_APIENTRY *glMultiTexCoord4sv) ( GLenum target, const GLshort *v );
+	void (GL_APIENTRY *glMultMatrixf) (const GLfloat *m);
+	void (GL_APIENTRY *glNormal3f) (GLfloat nx, GLfloat ny, GLfloat nz);
+	void (GL_APIENTRY *glNormal3fv) ( const GLfloat *v );
+	void (GL_APIENTRY *glNormal3sv) ( const GLshort *v );
+	void (GL_APIENTRY *glOrtho) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
+	void (GL_APIENTRY *glPointParameterf) (GLenum, GLfloat);
+	void (GL_APIENTRY *glPointParameterfv) (GLenum, const GLfloat *);
+	void (GL_APIENTRY *glPointSize) (GLfloat size);
+	void (GL_APIENTRY *glPolygonOffset) (GLfloat factor, GLfloat units);
+	void (GL_APIENTRY *glRotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
+	void (GL_APIENTRY *glScalef) (GLfloat x, GLfloat y, GLfloat z);
+	void (GL_APIENTRY *glTexEnvf) (GLenum target, GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glTexEnvfv) (GLenum target, GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glTexParameterf) (GLenum target, GLenum pname, GLfloat param);
+	void (GL_APIENTRY *glTexParameterfv) (GLenum target, GLenum pname, const GLfloat *params);
+	void (GL_APIENTRY *glMatrixMode) (GLenum mode);
+	void (GL_APIENTRY *glNormalPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
+	void (GL_APIENTRY *glPixelStorei) (GLenum pname, GLint param);
+	void (GL_APIENTRY *glPopMatrix) (void);
+	void (GL_APIENTRY *glPushMatrix) (void);
+	void (GL_APIENTRY *glReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
+	void (GL_APIENTRY *glSampleCoverage) ( GLclampf value, GLboolean invert );
+	void (GL_APIENTRY *glScissor) (GLint x, GLint y, GLsizei width, GLsizei height);
+	void (GL_APIENTRY *glShadeModel) (GLenum mode);
+	void (GL_APIENTRY *glStencilFunc) (GLenum func, GLint ref, GLuint mask);
+	void (GL_APIENTRY *glStencilMask) (GLuint mask);
+	void (GL_APIENTRY *glStencilOp) (GLenum fail, GLenum zfail, GLenum zpass);
+	void (GL_APIENTRY *glTexCoordPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+	void (GL_APIENTRY *glTexEnvi) (GLenum target, GLenum pname, GLint param);
+	void (GL_APIENTRY *glTexEnviv) (GLenum target, GLenum pname, const GLint *params);
+	void (GL_APIENTRY *glTexImage2D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
+	void (GL_APIENTRY *glTexParameteri) (GLenum target, GLenum pname, GLint param);
+	void (GL_APIENTRY *glTexParameteriv) (GLenum target, GLenum pname, const GLint *params);
+	void (GL_APIENTRY *glTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+	void (GL_APIENTRY *glTranslatef) (GLfloat x, GLfloat y, GLfloat z);
+	void (GL_APIENTRY *glVertex2fv) ( const GLfloat *v );
+	void (GL_APIENTRY *glVertex2sv) ( const GLshort *v );
+	void (GL_APIENTRY *glVertex3fv) ( const GLfloat *v );
+	void (GL_APIENTRY *glVertex3sv) ( const GLshort *v );
+	void (GL_APIENTRY *glVertex4fv) ( const GLfloat *v );
+	void (GL_APIENTRY *glVertex4sv) ( const GLshort *v );
+	void (GL_APIENTRY *glVertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
+	void (GL_APIENTRY *glViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
+    
+    // for internal use in EGLtoGLESInterface::UpdateBuffers()
+    void (GL_APIENTRY *glDrawPixels) (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
+
+private:
+	bool m_loaded;
+};
+
+#endif // _DESKTOPGL_H_