From 5b7dab2e4c7df1fde0a7fcf28b8b54745b9fcd2e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 18 Nov 2001 23:52:37 +0000 Subject: [PATCH] added test implementation of GL_ARB_window_pos --- src/mesa/glapi/APIspec | 113 +++++++++++++- src/mesa/glapi/glapioffsets.h | 16 ++ src/mesa/glapi/glapitable.h | 16 ++ src/mesa/glapi/glapitemp.h | 97 ++++++++++++ src/mesa/main/dlist.c | 126 +++++++++++++++- src/mesa/main/glprocs.h | 16 ++ src/mesa/main/mtypes.h | 5 +- src/mesa/main/rastpos.c | 138 ++++++++++++++++- src/mesa/main/rastpos.h | 39 ++++- src/mesa/main/state.c | 21 ++- src/mesa/sparc/glapi_sparc.S | 336 ++++++++++++++++++++++++++++++++++++++++++ src/mesa/x86/glapi_x86.S | 96 ++++++++++++ 12 files changed, 1010 insertions(+), 9 deletions(-) diff --git a/src/mesa/glapi/APIspec b/src/mesa/glapi/APIspec index ea87d11..807067b 100644 --- a/src/mesa/glapi/APIspec +++ b/src/mesa/glapi/APIspec @@ -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 + diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h index 0a83d47..8472608 100644 --- a/src/mesa/glapi/glapioffsets.h +++ b/src/mesa/glapi/glapioffsets.h @@ -580,5 +580,21 @@ #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 diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index 53071ce..271bce0 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -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 diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index 10f40d2..76ec6cb 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -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. diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index 0f4d7d8..ea6d6d7 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -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; } diff --git a/src/mesa/main/glprocs.h b/src/mesa/main/glprocs.h index ca60e2c..f79083c 100644 --- a/src/mesa/main/glprocs.h +++ b/src/mesa/main/glprocs.h @@ -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 */ }; diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index b4853f6..f8d330b 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -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; diff --git a/src/mesa/main/rastpos.c b/src/mesa/main/rastpos.c index 716bef2..a7b4e16 100644 --- a/src/mesa/main/rastpos.c +++ b/src/mesa/main/rastpos.c @@ -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]); +} + diff --git a/src/mesa/main/rastpos.h b/src/mesa/main/rastpos.h index 234eb76..6277944 100644 --- a/src/mesa/main/rastpos.h +++ b/src/mesa/main/rastpos.h @@ -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 diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index 0c884e1..66d8622 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -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; } diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S index c4ca052..95da221 100644 --- a/src/mesa/sparc/glapi_sparc.S +++ b/src/mesa/sparc/glapi_sparc.S @@ -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 diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S index 8ddb165..a94697b 100644 --- a/src/mesa/x86/glapi_x86.S +++ b/src/mesa/x86/glapi_x86.S @@ -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__ */ -- 2.7.4