added test implementation of GL_ARB_window_pos
authorBrian Paul <brian.paul@tungstengraphics.com>
Sun, 18 Nov 2001 23:52:37 +0000 (23:52 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sun, 18 Nov 2001 23:52:37 +0000 (23:52 +0000)
12 files changed:
src/mesa/glapi/APIspec
src/mesa/glapi/glapioffsets.h
src/mesa/glapi/glapitable.h
src/mesa/glapi/glapitemp.h
src/mesa/main/dlist.c
src/mesa/main/glprocs.h
src/mesa/main/mtypes.h
src/mesa/main/rastpos.c
src/mesa/main/rastpos.h
src/mesa/main/state.c
src/mesa/sparc/glapi_sparc.S
src/mesa/x86/glapi_x86.S

index ea87d11..807067b 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: APIspec,v 1.1 2001/11/18 22:43:16 brianp Exp $
+# $Id: APIspec,v 1.2 2001/11/18 23:52:38 brianp Exp $
 
 # This file describes all the OpenGL functions.
 # We use a number of Python scripts to parse this file and
@@ -7227,3 +7227,114 @@ param           v       const GLubyte *
 category       GL_NV_vertex_program
 offset         ?
 
+
+# GL_ARB_window_pos
+
+name           WindowPos2dARB
+return         void
+param          x       GLdouble
+param          y       GLdouble
+category       GL_ARB_window_pos
+offset         578     # unofficial
+
+name           WindowPos2fARB
+return         void
+param          x       GLfloat
+param          y       GLfloat
+category       GL_ARB_window_pos
+offset         579     # unofficial
+
+name           WindowPos2iARB
+return         void
+param          x       GLint
+param          y       GLint
+category       GL_ARB_window_pos
+offset         580     # unofficial
+
+name           WindowPos2sARB
+return         void
+param          x       GLshort
+param          y       GLshort
+category       GL_ARB_window_pos
+offset         581     # unofficial
+
+name           WindowPos2dvARB
+return         void
+param          p       const GLdouble *
+category       GL_ARB_window_pos
+offset         582     # unofficial
+
+name           WindowPos2fvARB
+return         void
+param          p       const GLfloat *
+category       GL_ARB_window_pos
+offset         583     # unofficial
+
+name           WindowPos2ivARB
+return         void
+param          p       const GLint *
+category       GL_ARB_window_pos
+offset         584     # unofficial
+
+name           WindowPos2svARB
+return         void
+param          p       const GLshort *
+category       GL_ARB_window_pos
+offset         585     # unofficial
+
+name           WindowPos3dARB
+return         void
+param          x       GLdouble
+param          y       GLdouble
+param          z       GLdouble
+category       GL_ARB_window_pos
+offset         586     # unofficial
+
+name           WindowPos3fARB
+return         void
+param          x       GLfloat
+param          y       GLfloat
+param          z       GLfloat
+category       GL_ARB_window_pos
+offset         587     # unofficial
+
+name           WindowPos3iARB
+return         void
+param          x       GLint
+param          y       GLint
+param          z       GLint
+category       GL_ARB_window_pos
+offset         588     # unofficial
+
+name           WindowPos3sARB
+return         void
+param          x       GLshort
+param          y       GLshort
+param          z       GLshort
+category       GL_ARB_window_pos
+offset         589     # unofficial
+
+name           WindowPos3dvARB
+return         void
+param          p       const GLdouble *
+category       GL_ARB_window_pos
+offset         590     # unofficial
+
+name           WindowPos3fvARB
+return         void
+param          p       const GLfloat *
+category       GL_ARB_window_pos
+offset         591     # unofficial
+
+name           WindowPos3ivARB
+return         void
+param          p       const GLint *
+category       GL_ARB_window_pos
+offset         592     # unofficial
+
+name           WindowPos3svARB
+return         void
+param          p       const GLshort *
+category       GL_ARB_window_pos
+offset         593     # unofficial
+
index 0a83d47..8472608 100644 (file)
 #define _gloffset_SecondaryColor3usEXT 575
 #define _gloffset_SecondaryColor3usvEXT 576
 #define _gloffset_SecondaryColorPointerEXT 577
+#define _gloffset_WindowPos2dARB 578
+#define _gloffset_WindowPos2fARB 579
+#define _gloffset_WindowPos2iARB 580
+#define _gloffset_WindowPos2sARB 581
+#define _gloffset_WindowPos2dvARB 582
+#define _gloffset_WindowPos2fvARB 583
+#define _gloffset_WindowPos2ivARB 584
+#define _gloffset_WindowPos2svARB 585
+#define _gloffset_WindowPos3dARB 586
+#define _gloffset_WindowPos3fARB 587
+#define _gloffset_WindowPos3iARB 588
+#define _gloffset_WindowPos3sARB 589
+#define _gloffset_WindowPos3dvARB 590
+#define _gloffset_WindowPos3fvARB 591
+#define _gloffset_WindowPos3ivARB 592
+#define _gloffset_WindowPos3svARB 593
 
 #endif
index 53071ce..271bce0 100644 (file)
@@ -584,6 +584,22 @@ struct _glapi_table
    void (*SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 575 */
    void (*SecondaryColor3usvEXT)(const GLushort * v); /* 576 */
    void (*SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 577 */
+   void (*WindowPos2dARB)(GLdouble x, GLdouble y); /* 578 */
+   void (*WindowPos2fARB)(GLfloat x, GLfloat y); /* 579 */
+   void (*WindowPos2iARB)(GLint x, GLint y); /* 580 */
+   void (*WindowPos2sARB)(GLshort x, GLshort y); /* 581 */
+   void (*WindowPos2dvARB)(const GLdouble * p); /* 582 */
+   void (*WindowPos2fvARB)(const GLfloat * p); /* 583 */
+   void (*WindowPos2ivARB)(const GLint * p); /* 584 */
+   void (*WindowPos2svARB)(const GLshort * p); /* 585 */
+   void (*WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z); /* 586 */
+   void (*WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z); /* 587 */
+   void (*WindowPos3iARB)(GLint x, GLint y, GLint z); /* 588 */
+   void (*WindowPos3sARB)(GLshort x, GLshort y, GLshort z); /* 589 */
+   void (*WindowPos3dvARB)(const GLdouble * p); /* 590 */
+   void (*WindowPos3fvARB)(const GLfloat * p); /* 591 */
+   void (*WindowPos3ivARB)(const GLint * p); /* 592 */
+   void (*WindowPos3svARB)(const GLshort * p); /* 593 */
 };
 
 #endif
index 10f40d2..76ec6cb 100644 (file)
@@ -3610,6 +3610,87 @@ KEYWORD1 void KEYWORD2 NAME(SamplePatternEXT)(GLenum pattern)
 /* No dispatch for VertexAttribs4svNV() */
 /* No dispatch for VertexAttribs4fvNV() */
 /* No dispatch for VertexAttribs4dvNV() */
+/* No dispatch for VertexAttribs4ubvNV() */
+KEYWORD1 void KEYWORD2 NAME(WindowPos2dARB)(GLdouble x, GLdouble y)
+{
+   DISPATCH(WindowPos2dARB, (x, y), (F, "glWindowPos2dARB(%f, %f);", x, y));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2fARB)(GLfloat x, GLfloat y)
+{
+   DISPATCH(WindowPos2fARB, (x, y), (F, "glWindowPos2fARB(%f, %f);", x, y));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2iARB)(GLint x, GLint y)
+{
+   DISPATCH(WindowPos2iARB, (x, y), (F, "glWindowPos2iARB(%d, %d);", x, y));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2sARB)(GLshort x, GLshort y)
+{
+   DISPATCH(WindowPos2sARB, (x, y), (F, "glWindowPos2sARB(%d, %d);", x, y));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2dvARB)(const GLdouble * p)
+{
+   DISPATCH(WindowPos2dvARB, (p), (F, "glWindowPos2dvARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2fvARB)(const GLfloat * p)
+{
+   DISPATCH(WindowPos2fvARB, (p), (F, "glWindowPos2fvARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2ivARB)(const GLint * p)
+{
+   DISPATCH(WindowPos2ivARB, (p), (F, "glWindowPos2ivARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos2svARB)(const GLshort * p)
+{
+   DISPATCH(WindowPos2svARB, (p), (F, "glWindowPos2svARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z)
+{
+   DISPATCH(WindowPos3dARB, (x, y, z), (F, "glWindowPos3dARB(%f, %f, %f);", x, y, z));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z)
+{
+   DISPATCH(WindowPos3fARB, (x, y, z), (F, "glWindowPos3fARB(%f, %f, %f);", x, y, z));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3iARB)(GLint x, GLint y, GLint z)
+{
+   DISPATCH(WindowPos3iARB, (x, y, z), (F, "glWindowPos3iARB(%d, %d, %d);", x, y, z));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3sARB)(GLshort x, GLshort y, GLshort z)
+{
+   DISPATCH(WindowPos3sARB, (x, y, z), (F, "glWindowPos3sARB(%d, %d, %d);", x, y, z));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3dvARB)(const GLdouble * p)
+{
+   DISPATCH(WindowPos3dvARB, (p), (F, "glWindowPos3dvARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3fvARB)(const GLfloat * p)
+{
+   DISPATCH(WindowPos3fvARB, (p), (F, "glWindowPos3fvARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3ivARB)(const GLint * p)
+{
+   DISPATCH(WindowPos3ivARB, (p), (F, "glWindowPos3ivARB(%p);", (void *) p));
+}
+
+KEYWORD1 void KEYWORD2 NAME(WindowPos3svARB)(const GLshort * p)
+{
+   DISPATCH(WindowPos3svARB, (p), (F, "glWindowPos3svARB(%p);", (void *) p));
+}
+
 
 
 /*
@@ -4201,6 +4282,22 @@ void *DISPATCH_TABLE_NAME[] = {
    TABLE_ENTRY(SecondaryColor3usEXT),
    TABLE_ENTRY(SecondaryColor3usvEXT),
    TABLE_ENTRY(SecondaryColorPointerEXT),
+   TABLE_ENTRY(WindowPos2dARB),
+   TABLE_ENTRY(WindowPos2fARB),
+   TABLE_ENTRY(WindowPos2iARB),
+   TABLE_ENTRY(WindowPos2sARB),
+   TABLE_ENTRY(WindowPos2dvARB),
+   TABLE_ENTRY(WindowPos2fvARB),
+   TABLE_ENTRY(WindowPos2ivARB),
+   TABLE_ENTRY(WindowPos2svARB),
+   TABLE_ENTRY(WindowPos3dARB),
+   TABLE_ENTRY(WindowPos3fARB),
+   TABLE_ENTRY(WindowPos3iARB),
+   TABLE_ENTRY(WindowPos3sARB),
+   TABLE_ENTRY(WindowPos3dvARB),
+   TABLE_ENTRY(WindowPos3fvARB),
+   TABLE_ENTRY(WindowPos3ivARB),
+   TABLE_ENTRY(WindowPos3svARB),
    /* A whole bunch of no-op functions.  These might be called
     * when someone tries to call a dynamically-registered
     * extension function without a current rendering context.
index 0f4d7d8..ea6d6d7 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: dlist.c,v 1.77 2001/11/18 22:48:11 brianp Exp $ */
+/* $Id: dlist.c,v 1.78 2001/11/18 23:52:37 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  4.1
  *
  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  *
@@ -242,6 +242,8 @@ typedef enum {
         OPCODE_COMPRESSED_TEX_SUB_IMAGE_3D,
         /* GL_ARB_multisample */
         OPCODE_SAMPLE_COVERAGE,
+        /* GL_ARB_window_pos */
+       OPCODE_WINDOW_POS_ARB,
        /* The following three are meta instructions */
        OPCODE_ERROR,           /* raise compiled-in error */
        OPCODE_CONTINUE,
@@ -627,6 +629,8 @@ void _mesa_init_lists( void )
       InstSize[OPCODE_SAMPLE_COVERAGE] = 3;
       /* GL_ARB_multitexture */
       InstSize[OPCODE_ACTIVE_TEXTURE] = 2;
+      /* GL_ARB_window_pos */
+      InstSize[OPCODE_WINDOW_POS_ARB] = 4;
    }
    init_flag = 1;
 }
@@ -3546,6 +3550,103 @@ static void save_WindowPos4svMESA(const GLshort *v)
 
 
 
+/*
+ * GL_ARB_window_pos
+ */
+
+static void save_WindowPos3fARB( GLfloat x, GLfloat y, GLfloat z )
+{
+   GET_CURRENT_CONTEXT(ctx);
+   Node *n;
+   ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+   FLUSH_CURRENT(ctx, 0);
+   n = ALLOC_INSTRUCTION( ctx,  OPCODE_WINDOW_POS_ARB, 3 );
+   if (n) {
+      n[1].f = x;
+      n[2].f = y;
+      n[3].f = z;
+   }
+   if (ctx->ExecuteFlag) {
+      (*ctx->Exec->WindowPos3fMESA)( x, y, z );
+   }
+}
+
+static void save_WindowPos2dARB(GLdouble x, GLdouble y)
+{
+   save_WindowPos3fARB((GLfloat) x, (GLfloat) y, 0.0F);
+}
+
+static void save_WindowPos2fARB(GLfloat x, GLfloat y)
+{
+   save_WindowPos3fARB(x, y, 0.0F);
+}
+
+static void save_WindowPos2iARB(GLint x, GLint y)
+{
+   save_WindowPos3fARB((GLfloat) x, (GLfloat) y, 0.0F);
+}
+
+static void save_WindowPos2sARB(GLshort x, GLshort y)
+{
+   save_WindowPos3fARB(x, y, 0.0F);
+}
+
+static void save_WindowPos3dARB(GLdouble x, GLdouble y, GLdouble z)
+{
+   save_WindowPos3fARB((GLfloat) x, (GLfloat) y, (GLfloat) z);
+}
+
+static void save_WindowPos3iARB(GLint x, GLint y, GLint z)
+{
+   save_WindowPos3fARB((GLfloat) x, (GLfloat) y, (GLfloat) z);
+}
+
+static void save_WindowPos3sARB(GLshort x, GLshort y, GLshort z)
+{
+   save_WindowPos3fARB(x, y, z);
+}
+
+static void save_WindowPos2dvARB(const GLdouble *v)
+{
+   save_WindowPos3fARB((GLfloat) v[0], (GLfloat) v[1], 0.0F);
+}
+
+static void save_WindowPos2fvARB(const GLfloat *v)
+{
+   save_WindowPos3fARB(v[0], v[1], 0.0F);
+}
+
+static void save_WindowPos2ivARB(const GLint *v)
+{
+   save_WindowPos3fARB((GLfloat) v[0], (GLfloat) v[1], 0.0F);
+}
+
+static void save_WindowPos2svARB(const GLshort *v)
+{
+   save_WindowPos3fARB(v[0], v[1], 0.0F);
+}
+
+static void save_WindowPos3dvARB(const GLdouble *v)
+{
+   save_WindowPos3fARB((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
+}
+
+static void save_WindowPos3fvARB(const GLfloat *v)
+{
+   save_WindowPos3fARB(v[0], v[1], v[2]);
+}
+
+static void save_WindowPos3ivARB(const GLint *v)
+{
+   save_WindowPos3fARB((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]);
+}
+
+static void save_WindowPos3svARB(const GLshort *v)
+{
+   save_WindowPos3fARB(v[0], v[1], v[2]);
+}
+
+
 /* GL_ARB_multitexture */
 static void save_ActiveTextureARB( GLenum target )
 {
@@ -4611,6 +4712,9 @@ execute_list( GLcontext *ctx, GLuint list )
          case OPCODE_SAMPLE_COVERAGE: /* GL_ARB_multisample */
             (*ctx->Exec->SampleCoverage)(n[1].f, n[2].b);
             break;
+        case OPCODE_WINDOW_POS_ARB: /* GL_ARB_window_pos */
+            (*ctx->Exec->WindowPos3fARB)( n[1].f, n[2].f, n[3].f );
+           break;
         case OPCODE_CONTINUE:
            n = (Node *) n[1].next;
            break;
@@ -5898,6 +6002,24 @@ _mesa_init_dlist_table( struct _glapi_table *table, GLuint tableSize )
 
    /* GL_EXT_fog_coord */
    table->FogCoordPointerEXT = exec_FogCoordPointerEXT;
+
+   /* GL_ARB_window_pos */
+   table->WindowPos2dARB = save_WindowPos2dARB;
+   table->WindowPos2dvARB = save_WindowPos2dvARB;
+   table->WindowPos2fARB = save_WindowPos2fARB;
+   table->WindowPos2fvARB = save_WindowPos2fvARB;
+   table->WindowPos2iARB = save_WindowPos2iARB;
+   table->WindowPos2ivARB = save_WindowPos2ivARB;
+   table->WindowPos2sARB = save_WindowPos2sARB;
+   table->WindowPos2svARB = save_WindowPos2svARB;
+   table->WindowPos3dARB = save_WindowPos3dARB;
+   table->WindowPos3dvARB = save_WindowPos3dvARB;
+   table->WindowPos3fARB = save_WindowPos3fARB;
+   table->WindowPos3fvARB = save_WindowPos3fvARB;
+   table->WindowPos3iARB = save_WindowPos3iARB;
+   table->WindowPos3ivARB = save_WindowPos3ivARB;
+   table->WindowPos3sARB = save_WindowPos3sARB;
+   table->WindowPos3svARB = save_WindowPos3svARB;
 }
 
 
index ca60e2c..f79083c 100644 (file)
@@ -673,5 +673,21 @@ static struct name_address_offset static_functions[] = {
    { "glTbufferMask3DFX", (GLvoid *) glTbufferMask3DFX, _gloffset_TbufferMask3DFX },
    { "glSampleMaskEXT", (GLvoid *) glSampleMaskEXT, _gloffset_SampleMaskSGIS },
    { "glSamplePatternEXT", (GLvoid *) glSamplePatternEXT, _gloffset_SamplePatternSGIS },
+   { "glWindowPos2dARB", (GLvoid *) glWindowPos2dARB, _gloffset_WindowPos2dARB },
+   { "glWindowPos2fARB", (GLvoid *) glWindowPos2fARB, _gloffset_WindowPos2fARB },
+   { "glWindowPos2iARB", (GLvoid *) glWindowPos2iARB, _gloffset_WindowPos2iARB },
+   { "glWindowPos2sARB", (GLvoid *) glWindowPos2sARB, _gloffset_WindowPos2sARB },
+   { "glWindowPos2dvARB", (GLvoid *) glWindowPos2dvARB, _gloffset_WindowPos2dvARB },
+   { "glWindowPos2fvARB", (GLvoid *) glWindowPos2fvARB, _gloffset_WindowPos2fvARB },
+   { "glWindowPos2ivARB", (GLvoid *) glWindowPos2ivARB, _gloffset_WindowPos2ivARB },
+   { "glWindowPos2svARB", (GLvoid *) glWindowPos2svARB, _gloffset_WindowPos2svARB },
+   { "glWindowPos3dARB", (GLvoid *) glWindowPos3dARB, _gloffset_WindowPos3dARB },
+   { "glWindowPos3fARB", (GLvoid *) glWindowPos3fARB, _gloffset_WindowPos3fARB },
+   { "glWindowPos3iARB", (GLvoid *) glWindowPos3iARB, _gloffset_WindowPos3iARB },
+   { "glWindowPos3sARB", (GLvoid *) glWindowPos3sARB, _gloffset_WindowPos3sARB },
+   { "glWindowPos3dvARB", (GLvoid *) glWindowPos3dvARB, _gloffset_WindowPos3dvARB },
+   { "glWindowPos3fvARB", (GLvoid *) glWindowPos3fvARB, _gloffset_WindowPos3fvARB },
+   { "glWindowPos3ivARB", (GLvoid *) glWindowPos3ivARB, _gloffset_WindowPos3ivARB },
+   { "glWindowPos3svARB", (GLvoid *) glWindowPos3svARB, _gloffset_WindowPos3svARB },
    { NULL, NULL }  /* end of list marker */
 };
index b4853f6..f8d330b 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: mtypes.h,v 1.52 2001/11/06 15:53:00 brianp Exp $ */
+/* $Id: mtypes.h,v 1.53 2001/11/18 23:52:37 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  4.1
  *
  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  *
@@ -1204,6 +1204,7 @@ struct gl_extensions {
    GLboolean ARB_texture_env_combine;
    GLboolean ARB_texture_env_dot3;
    GLboolean ARB_texture_mirrored_repeat;
+   GLboolean ARB_window_pos;
    GLboolean EXT_blend_color;
    GLboolean EXT_blend_func_separate;
    GLboolean EXT_blend_logic_op;
index 716bef2..a7b4e16 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rastpos.c,v 1.31 2001/09/18 23:06:14 kschultz Exp $ */
+/* $Id: rastpos.c,v 1.32 2001/11/18 23:52:38 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -764,3 +764,139 @@ void glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
 }
 
 #endif
+
+
+/**********************************************************************/
+/***                     GL_ARB_window_pos                          ***/
+/**********************************************************************/
+
+void _mesa_WindowPos2dARB(GLdouble x, GLdouble y)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, 0.0F);
+}
+
+void _mesa_WindowPos2fARB(GLfloat x, GLfloat y)
+{
+   _mesa_WindowPos3fARB(x, y, 0.0F);
+}
+
+void _mesa_WindowPos2iARB(GLint x, GLint y)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, 0.0F);
+}
+
+void _mesa_WindowPos2sARB(GLshort x, GLshort y)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, 0.0F);
+}
+
+void _mesa_WindowPos2dvARB(const GLdouble *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], 0.0F);
+}
+
+void _mesa_WindowPos2fvARB(const GLfloat *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], 0.0F);
+}
+
+void _mesa_WindowPos2ivARB(const GLint *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], 0.0F);
+}
+
+void _mesa_WindowPos2svARB(const GLshort *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], 0.0F);
+}
+
+void _mesa_WindowPos3dARB(GLdouble x, GLdouble y, GLdouble z)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, (GLfloat) z);
+}
+
+void _mesa_WindowPos3fARB(GLfloat x, GLfloat y, GLfloat z)
+{
+   GET_CURRENT_CONTEXT(ctx);
+   GLfloat z2;
+
+   ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+   FLUSH_CURRENT(ctx, 0);
+
+   z2 = CLAMP(z, 0.0F, 1.0F) * (ctx->Viewport.Far - ctx->Viewport.Near)
+      + ctx->Viewport.Near;
+
+   /* set raster position */
+   ctx->Current.RasterPos[0] = x;
+   ctx->Current.RasterPos[1] = y;
+   ctx->Current.RasterPos[2] = z2;
+   ctx->Current.RasterPos[3] = 0.0F;
+
+   ctx->Current.RasterPosValid = GL_TRUE;
+   /* XXX might have to change this */
+   ctx->Current.RasterDistance = ctx->Current.FogCoord;
+   ctx->Current.RasterFogCoord = ctx->Current.FogCoord;
+
+   /* raster color = current color or index */
+   if (ctx->Visual.rgbMode) {
+      ctx->Current.RasterColor[0] = CLAMP(ctx->Current.Color[0], 0.0F, 1.0F);
+      ctx->Current.RasterColor[1] = CLAMP(ctx->Current.Color[1], 0.0F, 1.0F);
+      ctx->Current.RasterColor[2] = CLAMP(ctx->Current.Color[2], 0.0F, 1.0F);
+      ctx->Current.RasterColor[3] = CLAMP(ctx->Current.Color[3], 0.0F, 1.0F);
+      ctx->Current.RasterSecondaryColor[0]
+         = CLAMP(ctx->Current.SecondaryColor[0], 0.0F, 1.0F);
+      ctx->Current.RasterSecondaryColor[1]
+         = CLAMP(ctx->Current.SecondaryColor[1], 0.0F, 1.0F);
+      ctx->Current.RasterSecondaryColor[2]
+         = CLAMP(ctx->Current.SecondaryColor[2], 0.0F, 1.0F);
+      ctx->Current.RasterSecondaryColor[3]
+         = CLAMP(ctx->Current.SecondaryColor[3], 0.0F, 1.0F);
+   }
+   else {
+      ctx->Current.RasterIndex = ctx->Current.Index;
+   }
+
+   /* raster texcoord = current texcoord */
+   {
+      GLuint texSet;
+      for (texSet = 0; texSet < ctx->Const.MaxTextureUnits; texSet++) {
+         COPY_4FV( ctx->Current.RasterMultiTexCoord[texSet],
+                  ctx->Current.Texcoord[texSet] );
+      }
+   }
+
+   if (ctx->RenderMode==GL_SELECT) {
+      _mesa_update_hitflag( ctx, ctx->Current.RasterPos[2] );
+   }
+}
+
+void _mesa_WindowPos3iARB(GLint x, GLint y, GLint z)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, (GLfloat) z);
+}
+
+void _mesa_WindowPos3sARB(GLshort x, GLshort y, GLshort z)
+{
+   _mesa_WindowPos3fARB((GLfloat) x, (GLfloat) y, (GLfloat) z);
+}
+
+void _mesa_WindowPos3dvARB(const GLdouble *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2]);
+}
+
+void _mesa_WindowPos3fvARB(const GLfloat *p)
+{
+   _mesa_WindowPos3fARB(p[0], p[1], p[2]);
+}
+
+void _mesa_WindowPos3ivARB(const GLint *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2]);
+}
+
+void _mesa_WindowPos3svARB(const GLshort *p)
+{
+   _mesa_WindowPos3fARB((GLfloat) p[0], (GLfloat) p[1], (GLfloat) p[2]);
+}
+
index 234eb76..6277944 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rastpos.h,v 1.4 2001/06/18 17:26:08 brianp Exp $ */
+/* $Id: rastpos.h,v 1.5 2001/11/18 23:52:38 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -182,4 +182,41 @@ extern void
 _mesa_WindowPos4svMESA(const GLshort *v);
 
 
+/**********************************************************************/
+/***                     GL_ARB_window_pos                          ***/
+/**********************************************************************/
+
+extern void _mesa_WindowPos2dARB(GLdouble x, GLdouble y);
+
+extern void _mesa_WindowPos2fARB(GLfloat x, GLfloat y);
+
+extern void _mesa_WindowPos2iARB(GLint x, GLint y);
+
+extern void _mesa_WindowPos2sARB(GLshort x, GLshort y);
+
+extern void _mesa_WindowPos2dvARB(const GLdouble *p);
+
+extern void _mesa_WindowPos2fvARB(const GLfloat *p);
+
+extern void _mesa_WindowPos2ivARB(const GLint *p);
+
+extern void _mesa_WindowPos2svARB(const GLshort *p);
+
+extern void _mesa_WindowPos3dARB(GLdouble x, GLdouble y, GLdouble z);
+
+extern void _mesa_WindowPos3fARB(GLfloat x, GLfloat y, GLfloat z);
+
+extern void _mesa_WindowPos3iARB(GLint x, GLint y, GLint z);
+
+extern void _mesa_WindowPos3sARB(GLshort x, GLshort y, GLshort z);
+
+extern void _mesa_WindowPos3dvARB(const GLdouble *p);
+
+extern void _mesa_WindowPos3fvARB(const GLfloat *p);
+
+extern void _mesa_WindowPos3ivARB(const GLint *p);
+
+extern void _mesa_WindowPos3svARB(const GLshort *p);
+
+
 #endif
index 0c884e1..66d8622 100644 (file)
@@ -1,8 +1,8 @@
-/* $Id: state.c,v 1.70 2001/11/18 22:48:13 brianp Exp $ */
+/* $Id: state.c,v 1.71 2001/11/18 23:52:38 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.5
+ * Version:  4.1
  *
  * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
  *
@@ -478,6 +478,23 @@ _mesa_init_exec_table(struct _glapi_table *exec, GLuint tableSize)
    exec->CompressedTexSubImage1D = _mesa_CompressedTexSubImage1DARB;
    exec->GetCompressedTexImage = _mesa_GetCompressedTexImageARB;
 
+   /* GL_ARB_window_pos */
+   exec->WindowPos2dARB = _mesa_WindowPos2dARB;
+   exec->WindowPos2dvARB = _mesa_WindowPos2dvARB;
+   exec->WindowPos2fARB = _mesa_WindowPos2fARB;
+   exec->WindowPos2fvARB = _mesa_WindowPos2fvARB;
+   exec->WindowPos2iARB = _mesa_WindowPos2iARB;
+   exec->WindowPos2ivARB = _mesa_WindowPos2ivARB;
+   exec->WindowPos2sARB = _mesa_WindowPos2sARB;
+   exec->WindowPos2svARB = _mesa_WindowPos2svARB;
+   exec->WindowPos3dARB = _mesa_WindowPos3dARB;
+   exec->WindowPos3dvARB = _mesa_WindowPos3dvARB;
+   exec->WindowPos3fARB = _mesa_WindowPos3fARB;
+   exec->WindowPos3fvARB = _mesa_WindowPos3fvARB;
+   exec->WindowPos3iARB = _mesa_WindowPos3iARB;
+   exec->WindowPos3ivARB = _mesa_WindowPos3ivARB;
+   exec->WindowPos3sARB = _mesa_WindowPos3sARB;
+   exec->WindowPos3svARB = _mesa_WindowPos3svARB;
 }
 
 
index c4ca052..95da221 100644 (file)
@@ -14072,6 +14072,342 @@ GL_PREFIX(SamplePatternEXT):
 #endif
        jmpl    %g3, %g0
        nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2dARB))
+.type WindowPos2dARB,#function
+GL_PREFIX(WindowPos2dARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2dARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2dARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2dARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2fARB))
+.type WindowPos2fARB,#function
+GL_PREFIX(WindowPos2fARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2fARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2fARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2fARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2iARB))
+.type WindowPos2iARB,#function
+GL_PREFIX(WindowPos2iARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2iARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2iARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2iARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2sARB))
+.type WindowPos2sARB,#function
+GL_PREFIX(WindowPos2sARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2sARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2sARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2sARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2dvARB))
+.type WindowPos2dvARB,#function
+GL_PREFIX(WindowPos2dvARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2dvARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2dvARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2dvARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2fvARB))
+.type WindowPos2fvARB,#function
+GL_PREFIX(WindowPos2fvARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2fvARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2fvARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2fvARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2ivARB))
+.type WindowPos2ivARB,#function
+GL_PREFIX(WindowPos2ivARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2ivARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2ivARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2ivARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos2svARB))
+.type WindowPos2svARB,#function
+GL_PREFIX(WindowPos2svARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos2svARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos2svARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos2svARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3dARB))
+.type WindowPos3dARB,#function
+GL_PREFIX(WindowPos3dARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3dARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3dARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3dARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3fARB))
+.type WindowPos3fARB,#function
+GL_PREFIX(WindowPos3fARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3fARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3fARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3fARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3iARB))
+.type WindowPos3iARB,#function
+GL_PREFIX(WindowPos3iARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3iARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3iARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3iARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3sARB))
+.type WindowPos3sARB,#function
+GL_PREFIX(WindowPos3sARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3sARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3sARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3sARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3dvARB))
+.type WindowPos3dvARB,#function
+GL_PREFIX(WindowPos3dvARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3dvARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3dvARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3dvARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3fvARB))
+.type WindowPos3fvARB,#function
+GL_PREFIX(WindowPos3fvARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3fvARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3fvARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3fvARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3ivARB))
+.type WindowPos3ivARB,#function
+GL_PREFIX(WindowPos3ivARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3ivARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3ivARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3ivARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
+
+GLOBL_FN(GL_PREFIX(WindowPos3svARB))
+.type WindowPos3svARB,#function
+GL_PREFIX(WindowPos3svARB):
+#ifdef __sparc_v9__
+       sethi   %hi(0x00000000), %g2
+       sethi   %hi(0x00000000), %g1
+       or      %g2, %lo(0x00000000), %g2
+       or      %g1, %lo(0x00000000), %g1
+       sllx    %g2, 32, %g2
+       ldx     [%g1 + %g2], %g1
+       sethi   %hi(8 * _gloffset_WindowPos3svARB), %g2
+       or      %g2, %lo(8 * _gloffset_WindowPos3svARB), %g2
+       ldx     [%g1 + %g2], %g3
+#else
+       sethi   %hi(0x00000000), %g1
+       ld      [%g1 + %lo(0x00000000)], %g1
+       ld      [%g1 + (4 * _gloffset_WindowPos3svARB)], %g3
+#endif
+       jmpl    %g3, %g0
+       nop
         nop
 
 .globl _mesa_sparc_glapi_end
index 8ddb165..a94697b 100644 (file)
@@ -4033,5 +4033,101 @@ GL_PREFIX(SamplePatternEXT):
        MOV_L(GLNAME(_glapi_Dispatch), EAX)
        JMP(GL_OFFSET(_gloffset_SamplePatternSGIS))
 
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2dARB))
+GL_PREFIX(WindowPos2dARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2dARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2fARB))
+GL_PREFIX(WindowPos2fARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2fARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2iARB))
+GL_PREFIX(WindowPos2iARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2iARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2sARB))
+GL_PREFIX(WindowPos2sARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2sARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2dvARB))
+GL_PREFIX(WindowPos2dvARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2dvARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2fvARB))
+GL_PREFIX(WindowPos2fvARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2fvARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2ivARB))
+GL_PREFIX(WindowPos2ivARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2ivARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos2svARB))
+GL_PREFIX(WindowPos2svARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos2svARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3dARB))
+GL_PREFIX(WindowPos3dARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3dARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3fARB))
+GL_PREFIX(WindowPos3fARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3fARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3iARB))
+GL_PREFIX(WindowPos3iARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3iARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3sARB))
+GL_PREFIX(WindowPos3sARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3sARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3dvARB))
+GL_PREFIX(WindowPos3dvARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3dvARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3fvARB))
+GL_PREFIX(WindowPos3fvARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3fvARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3ivARB))
+GL_PREFIX(WindowPos3ivARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3ivARB))
+
+ALIGNTEXT16
+GLOBL_FN(GL_PREFIX(WindowPos3svARB))
+GL_PREFIX(WindowPos3svARB):
+       MOV_L(GLNAME(_glapi_Dispatch), EAX)
+       JMP(GL_OFFSET(_gloffset_WindowPos3svARB))
+
 
 #endif  /* __WIN32__ */