From 60f1a3c288dd663ff420fada558763d7524e499b Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 29 May 2002 15:16:01 +0000 Subject: Added GL_NV_point_sprite functions: glPointParameteri[v]NV(). Removed dead ARB_window_pos functions (we alias the MESA_window_pos funcs). --- src/mesa/glapi/glapioffsets.h | 2 + src/mesa/glapi/glapitable.h | 2 + src/mesa/glapi/glapitemp.h | 12 +++++ src/mesa/main/dlist.c | 105 ++---------------------------------------- src/mesa/main/glprocs.h | 2 + src/mesa/main/state.c | 4 +- src/mesa/sparc/glapi_sparc.S | 42 +++++++++++++++++ src/mesa/x86/glapi_x86.S | 12 +++++ 8 files changed, 76 insertions(+), 105 deletions(-) (limited to 'src') diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h index e810ecb4b5..2ecf718bbb 100644 --- a/src/mesa/glapi/glapioffsets.h +++ b/src/mesa/glapi/glapioffsets.h @@ -644,5 +644,7 @@ #define _gloffset_VertexAttribs4fvNV 639 #define _gloffset_VertexAttribs4svNV 640 #define _gloffset_VertexAttribs4ubvNV 641 +#define _gloffset_PointParameteriNV 642 +#define _gloffset_PointParameterivNV 643 #endif diff --git a/src/mesa/glapi/glapitable.h b/src/mesa/glapi/glapitable.h index aa3b449c33..2f98e9b1a1 100644 --- a/src/mesa/glapi/glapitable.h +++ b/src/mesa/glapi/glapitable.h @@ -648,6 +648,8 @@ struct _glapi_table void (*VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 639 */ void (*VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 640 */ void (*VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 641 */ + void (*PointParameteriNV)(GLenum pname, GLint params); /* 642 */ + void (*PointParameterivNV)(GLenum pname, const GLint * params); /* 643 */ }; #endif diff --git a/src/mesa/glapi/glapitemp.h b/src/mesa/glapi/glapitemp.h index 298b591798..cf1976e9b8 100644 --- a/src/mesa/glapi/glapitemp.h +++ b/src/mesa/glapi/glapitemp.h @@ -3944,6 +3944,16 @@ KEYWORD1 void KEYWORD2 NAME(VertexAttribs4ubvNV)(GLuint index, GLsizei n, const DISPATCH(VertexAttribs4ubvNV, (index, n, v), (F, "glVertexAttribs4ubvNV(%d, %d, %p);\n", index, n, (void *) v)); } +KEYWORD1 void KEYWORD2 NAME(PointParameteriNV)(GLenum pname, GLint params) +{ + DISPATCH(PointParameteriNV, (pname, params), (F, "glPointParameteriNV(0x%x, %d);\n", pname, params)); +} + +KEYWORD1 void KEYWORD2 NAME(PointParameterivNV)(GLenum pname, const GLint * params) +{ + DISPATCH(PointParameterivNV, (pname, params), (F, "glPointParameterivNV(0x%x, %p);\n", pname, (void *) params)); +} + /* @@ -4599,6 +4609,8 @@ void *DISPATCH_TABLE_NAME[] = { TABLE_ENTRY(VertexAttribs4fvNV), TABLE_ENTRY(VertexAttribs4svNV), TABLE_ENTRY(VertexAttribs4ubvNV), + TABLE_ENTRY(PointParameteriNV), + TABLE_ENTRY(PointParameterivNV), /* 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 6af83a9167..3ae3f67bc1 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -1,4 +1,4 @@ -/* $Id: dlist.c,v 1.87 2002/05/27 17:03:09 brianp Exp $ */ +/* $Id: dlist.c,v 1.88 2002/05/29 15:16:01 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -2517,13 +2517,13 @@ static void save_PointParameterfEXT( GLenum pname, GLfloat param ) save_PointParameterfvEXT(pname, ¶m); } -static void save_PointParameteriEXT( GLenum pname, GLint param ) +static void save_PointParameteriNV( GLenum pname, GLint param ) { GLfloat p = (GLfloat) param; save_PointParameterfvEXT(pname, &p); } -static void save_PointParameterivEXT( GLenum pname, const GLint *param ) +static void save_PointParameterivNV( GLenum pname, const GLint *param ) { GLfloat p = (GLfloat) param[0]; save_PointParameterfvEXT(pname, &p); @@ -3579,103 +3579,6 @@ 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 ) { @@ -6212,10 +6115,8 @@ _mesa_init_dlist_table( struct _glapi_table *table, GLuint tableSize ) table->VertexAttribPointerNV = _mesa_VertexAttribPointerNV; /* 262. GL_NV_point_sprite */ -#if 0 table->PointParameteriNV = save_PointParameteriNV; table->PointParameterivNV = save_PointParameterivNV; -#endif /* ARB 1. GL_ARB_multitexture */ table->ActiveTextureARB = save_ActiveTextureARB; diff --git a/src/mesa/main/glprocs.h b/src/mesa/main/glprocs.h index ecb9cbb984..433910af44 100644 --- a/src/mesa/main/glprocs.h +++ b/src/mesa/main/glprocs.h @@ -752,5 +752,7 @@ static struct name_address_offset static_functions[] = { { "glVertexAttribs4fvNV", (GLvoid *) glVertexAttribs4fvNV, _gloffset_VertexAttribs4fvNV }, { "glVertexAttribs4svNV", (GLvoid *) glVertexAttribs4svNV, _gloffset_VertexAttribs4svNV }, { "glVertexAttribs4ubvNV", (GLvoid *) glVertexAttribs4ubvNV, _gloffset_VertexAttribs4ubvNV }, + { "glPointParameteriNV", (GLvoid *) glPointParameteriNV, _gloffset_PointParameteriNV }, + { "glPointParameterivNV", (GLvoid *) glPointParameterivNV, _gloffset_PointParameterivNV }, { NULL, NULL } /* end of list marker */ }; diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index de7679365a..c513b4fcca 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -1,4 +1,4 @@ -/* $Id: state.c,v 1.82 2002/05/27 17:03:09 brianp Exp $ */ +/* $Id: state.c,v 1.83 2002/05/29 15:16:02 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -485,10 +485,8 @@ _mesa_init_exec_table(struct _glapi_table *exec, GLuint tableSize) exec->VertexAttribPointerNV = _mesa_VertexAttribPointerNV; /* 262. GL_NV_point_sprite */ -#if 0 exec->PointParameteriNV = _mesa_PointParameteriNV; exec->PointParameterivNV = _mesa_PointParameterivNV; -#endif /* ARB 1. GL_ARB_multitexture */ exec->ActiveTextureARB = _mesa_ActiveTextureARB; diff --git a/src/mesa/sparc/glapi_sparc.S b/src/mesa/sparc/glapi_sparc.S index ea964c2432..c9bf45b604 100644 --- a/src/mesa/sparc/glapi_sparc.S +++ b/src/mesa/sparc/glapi_sparc.S @@ -15725,6 +15725,48 @@ glVertexAttribs4ubvNV: sethi %hi(0x00000000), %g1 ld [%g1 + %lo(0x00000000)], %g1 ld [%g1 + (4 * _gloffset_VertexAttribs4ubvNV)], %g3 +#endif + jmpl %g3, %g0 + nop + +.globl glPointParameteriNV +.type glPointParameteriNV,#function +glPointParameteriNV: +#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_PointParameteriNV), %g2 + or %g2, %lo(8 * _gloffset_PointParameteriNV), %g2 + ldx [%g1 + %g2], %g3 +#else + sethi %hi(0x00000000), %g1 + ld [%g1 + %lo(0x00000000)], %g1 + ld [%g1 + (4 * _gloffset_PointParameteriNV)], %g3 +#endif + jmpl %g3, %g0 + nop + +.globl glPointParameterivNV +.type glPointParameterivNV,#function +glPointParameterivNV: +#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_PointParameterivNV), %g2 + or %g2, %lo(8 * _gloffset_PointParameterivNV), %g2 + ldx [%g1 + %g2], %g3 +#else + sethi %hi(0x00000000), %g1 + ld [%g1 + %lo(0x00000000)], %g1 + ld [%g1 + (4 * _gloffset_PointParameterivNV)], %g3 #endif jmpl %g3, %g0 nop diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S index 959ef2d8a8..3f32ba881e 100644 --- a/src/mesa/x86/glapi_x86.S +++ b/src/mesa/x86/glapi_x86.S @@ -4507,5 +4507,17 @@ GL_PREFIX(VertexAttribs4ubvNV): MOV_L(GLNAME(_glapi_Dispatch), EAX) JMP(GL_OFFSET(_gloffset_VertexAttribs4ubvNV)) +ALIGNTEXT16 +GLOBL_FN(GL_PREFIX(PointParameteriNV)) +GL_PREFIX(PointParameteriNV): + MOV_L(GLNAME(_glapi_Dispatch), EAX) + JMP(GL_OFFSET(_gloffset_PointParameteriNV)) + +ALIGNTEXT16 +GLOBL_FN(GL_PREFIX(PointParameterivNV)) +GL_PREFIX(PointParameterivNV): + MOV_L(GLNAME(_glapi_Dispatch), EAX) + JMP(GL_OFFSET(_gloffset_PointParameterivNV)) + #endif /* __WIN32__ */ -- cgit v1.2.3