YaGL: add missing functions to GLES1 driver
authorIgor Mitsyanko <i.mitsyanko@samsung.com>
Thu, 20 Dec 2012 11:04:28 +0000 (15:04 +0400)
committerStanislav Vorobiov <s.vorobiov@samsung.com>
Mon, 15 Apr 2013 11:24:18 +0000 (15:24 +0400)
Signed-off-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
hw/yagl_drivers/gles1_ogl/yagl_gles1_ogl.c
hw/yagl_gles1_driver.h

index 5e4a520..fe67e55 100644 (file)
@@ -35,6 +35,8 @@ struct yagl_gles1_driver *yagl_gles1_ogl_create(struct yagl_dyn_lib *dyn_lib)
 
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, AlphaFunc, glAlphaFunc);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Color4f, glColor4f);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, DepthRangef, glDepthRangef);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, Frustum, glFrustum);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Fogf, glFogf);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Fogfv, glFogfv);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, GetLightfv, glGetLightfv);
@@ -50,6 +52,7 @@ struct yagl_gles1_driver *yagl_gles1_ogl_create(struct yagl_dyn_lib *dyn_lib)
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, MultMatrixf, glMultMatrixf);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, MultiTexCoord4f, glMultiTexCoord4f);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Normal3f, glNormal3f);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, Ortho, glOrtho);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, PointParameterf, glPointParameterf);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, PointParameterfv, glPointParameterfv);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, PointSize, glPointSize);
@@ -59,15 +62,17 @@ struct yagl_gles1_driver *yagl_gles1_ogl_create(struct yagl_dyn_lib *dyn_lib)
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, TexEnvfv, glTexEnvfv);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Translatef, glTranslatef);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, ClientActiveTexture, glClientActiveTexture);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, ClipPlane, glClipPlane);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, Color4ub, glColor4ub);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, ColorPointer, glColorPointer);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, DisableClientState, glDisableClientState);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, EnableClientState, glEnableClientState);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, GetClipPlane, glGetClipPlane);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, GetPointerv, glGetPointerv);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, GetTexEnviv, glGetTexEnviv);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, LoadIdentity, glLoadIdentity);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, LogicOp, glLogicOp);
-    YAGL_GLES_OGL_GET_PROC(gles1_ogl, MatrixMode, MatrixMode);
+    YAGL_GLES_OGL_GET_PROC(gles1_ogl, MatrixMode, glMatrixMode);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, NormalPointer, glNormalPointer);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, PopMatrix, glPopMatrix);
     YAGL_GLES_OGL_GET_PROC(gles1_ogl, PushMatrix, glPushMatrix);
index 104fb4e..d69e2f1 100644 (file)
@@ -4,6 +4,12 @@
 #include "yagl_types.h"
 #include "yagl_gles_driver.h"
 
+/* We need this because we can't include <GL/gl.h> (which has GLdouble
+ * definition) and <GLES/gl.h> (which has GLfixed definition) simultaniously */
+#ifndef GLdouble
+typedef double GLdouble;
+#endif
+
 /*
  * YaGL GLES1 driver.
  * @{
@@ -15,8 +21,10 @@ struct yagl_gles1_driver
 
     YAGL_GLES_DRIVER_FUNC2(AlphaFunc, GLenum, GLclampf, func, ref)
     YAGL_GLES_DRIVER_FUNC4(Color4f, GLfloat, GLfloat, GLfloat, GLfloat, red, green, blue, alpha)
+    YAGL_GLES_DRIVER_FUNC2(DepthRangef, GLclampf, GLclampf, zNear, zFar)
     YAGL_GLES_DRIVER_FUNC2(Fogf, GLenum, GLfloat, pname, param)
     YAGL_GLES_DRIVER_FUNC2(Fogfv, GLenum, const GLfloat*, pname, params)
+    YAGL_GLES_DRIVER_FUNC6(Frustum, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, left, right, bottom, top, znear, zfar)
     YAGL_GLES_DRIVER_FUNC3(GetLightfv, GLenum, GLenum, GLfloat*, light, pname, params)
     YAGL_GLES_DRIVER_FUNC3(GetMaterialfv, GLenum, GLenum, GLfloat*, face, pname, params)
     YAGL_GLES_DRIVER_FUNC3(GetTexEnvfv, GLenum, GLenum, GLfloat*, env, pname, params)
@@ -30,6 +38,7 @@ struct yagl_gles1_driver
     YAGL_GLES_DRIVER_FUNC1(MultMatrixf, const GLfloat*, m)
     YAGL_GLES_DRIVER_FUNC5(MultiTexCoord4f, GLenum, GLfloat, GLfloat, GLfloat, GLfloat, target, s, t, r, q)
     YAGL_GLES_DRIVER_FUNC3(Normal3f, GLfloat, GLfloat, GLfloat, nx, ny, nz)
+    YAGL_GLES_DRIVER_FUNC6(Ortho, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, left, right, bottom, top, znear, zfar)
     YAGL_GLES_DRIVER_FUNC2(PointParameterf, GLenum, GLfloat, pname, param)
     YAGL_GLES_DRIVER_FUNC2(PointParameterfv, GLenum, const GLfloat*, pname, params)
     YAGL_GLES_DRIVER_FUNC1(PointSize, GLfloat, size)
@@ -39,10 +48,12 @@ struct yagl_gles1_driver
     YAGL_GLES_DRIVER_FUNC3(TexEnvfv, GLenum, GLenum, const GLfloat*, target, pname, params)
     YAGL_GLES_DRIVER_FUNC3(Translatef, GLfloat, GLfloat, GLfloat, x, y, z)
     YAGL_GLES_DRIVER_FUNC1(ClientActiveTexture, GLenum, texture)
+    YAGL_GLES_DRIVER_FUNC2(ClipPlane, GLenum, const GLdouble *, plane, equation)
     YAGL_GLES_DRIVER_FUNC4(Color4ub, GLubyte, GLubyte, GLubyte, GLubyte, red, green, blue, alpha)
     YAGL_GLES_DRIVER_FUNC4(ColorPointer, GLint, GLenum, GLsizei, const GLvoid*, size, type, stride, pointer)
     YAGL_GLES_DRIVER_FUNC1(DisableClientState, GLenum, array)
     YAGL_GLES_DRIVER_FUNC1(EnableClientState, GLenum, array)
+    YAGL_GLES_DRIVER_FUNC2(GetClipPlane, GLenum, const GLdouble *, plane, equation)
     YAGL_GLES_DRIVER_FUNC2(GetPointerv, GLenum, GLvoid**, pname, params)
     YAGL_GLES_DRIVER_FUNC3(GetTexEnviv, GLenum, GLenum, GLint*, env, pname, params)
     YAGL_GLES_DRIVER_FUNC0(LoadIdentity)