summaryrefslogtreecommitdiff
path: root/xc/lib/GL/glx/g_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/lib/GL/glx/g_render.c')
-rw-r--r--xc/lib/GL/glx/g_render.c132
1 files changed, 132 insertions, 0 deletions
diff --git a/xc/lib/GL/glx/g_render.c b/xc/lib/GL/glx/g_render.c
index 68ba03728..479393fec 100644
--- a/xc/lib/GL/glx/g_render.c
+++ b/xc/lib/GL/glx/g_render.c
@@ -29,6 +29,7 @@
*/
#include "packrender.h"
+#include "size.h"
void glCallList(GLuint list)
{
@@ -3460,3 +3461,134 @@ void glMultTransposeMatrixdARB(const GLdouble *m)
__GLX_END(132);
}
+
+/*
+ * New extension functions
+ */
+
+void glPointParameterfARB(GLenum pname, GLfloat param)
+{
+ __GLX_DECLARE_VARIABLES();
+ __GLX_LOAD_VARIABLES();
+ __GLX_BEGIN(X_GLrop_PointParameterfARB,12);
+ __GLX_PUT_LONG(4,pname);
+ __GLX_PUT_FLOAT(8,param);
+ __GLX_END(12);
+}
+
+void glPointParameterfvARB(GLenum pname, const GLfloat *params)
+{
+ __GLX_DECLARE_VARIABLES();
+ __GLX_LOAD_VARIABLES();
+ if (pname == GL_POINT_DISTANCE_ATTENUATION_ARB) {
+ /* params is float[3] */
+ __GLX_BEGIN(X_GLrop_PointParameterfvARB,20);
+ __GLX_PUT_LONG(4,pname);
+ __GLX_PUT_FLOAT(8,params[0]);
+ __GLX_PUT_FLOAT(12,params[1]);
+ __GLX_PUT_FLOAT(16,params[2]);
+ __GLX_END(20);
+ }
+ else {
+ /* params is float[1] */
+ __GLX_BEGIN(X_GLrop_PointParameterfvARB,12);
+ __GLX_PUT_LONG(4,pname);
+ __GLX_PUT_FLOAT(8,params[0]);
+ __GLX_END(12);
+ }
+}
+
+void glWindowPos2dARB(GLdouble x, GLdouble y)
+{
+ glWindowPos3fARB(x, y, 0.0);
+}
+
+void glWindowPos2iARB(GLint x, GLint y)
+{
+ glWindowPos3fARB(x, y, 0.0);
+}
+
+void glWindowPos2fARB(GLfloat x, GLfloat y)
+{
+ glWindowPos3fARB(x, y, 0.0);
+}
+
+void glWindowPos2sARB(GLshort x, GLshort y)
+{
+ glWindowPos3fARB(x, y, 0.0);
+}
+
+void glWindowPos2dvARB(const GLdouble * p)
+{
+ glWindowPos3fARB(p[0], p[1], 0.0);
+}
+
+void glWindowPos2fvARB(const GLfloat * p)
+{
+ glWindowPos3fARB(p[0], p[1], 0.0);
+}
+
+void glWindowPos2ivARB(const GLint * p)
+{
+ glWindowPos3fARB(p[0], p[1], 0.0);
+}
+
+void glWindowPos2svARB(const GLshort * p)
+{
+ glWindowPos3fARB(p[0], p[1], 0.0);
+}
+
+void glWindowPos3dARB(GLdouble x, GLdouble y, GLdouble z)
+{
+ glWindowPos3fARB(x, y, z);
+}
+
+void glWindowPos3fARB(GLfloat x, GLfloat y, GLfloat z)
+{
+ __GLX_DECLARE_VARIABLES();
+ __GLX_LOAD_VARIABLES();
+ __GLX_BEGIN(X_GLrop_WindowPos3fARB,16);
+ __GLX_PUT_FLOAT(4,x);
+ __GLX_PUT_FLOAT(8,y);
+ __GLX_PUT_FLOAT(12,z);
+ __GLX_END(16);
+}
+
+void glWindowPos3iARB(GLint x, GLint y, GLint z)
+{
+ glWindowPos3fARB(x, y, z);
+}
+
+void glWindowPos3sARB(GLshort x, GLshort y, GLshort z)
+{
+ glWindowPos3fARB(x, y, z);
+}
+
+void glWindowPos3dvARB(const GLdouble * p)
+{
+ glWindowPos3fARB(p[0], p[1], p[2]);
+}
+
+void glWindowPos3fvARB(const GLfloat * p)
+{
+ glWindowPos3fARB(p[0], p[1], p[2]);
+}
+
+void glWindowPos3ivARB(const GLint * p)
+{
+ glWindowPos3fARB(p[0], p[1], p[2]);
+}
+
+void glWindowPos3svARB(const GLshort * p)
+{
+ glWindowPos3fARB(p[0], p[1], p[2]);
+}
+
+void glActiveStencilFaceEXT(GLenum face)
+{
+ __GLX_DECLARE_VARIABLES();
+ __GLX_LOAD_VARIABLES();
+ __GLX_BEGIN(X_GLrop_ActiveStencilFaceEXT,8);
+ __GLX_PUT_LONG(4,face);
+ __GLX_END(8);
+}