summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2002-05-29 15:16:01 +0000
committerBrian Paul <[email protected]>2002-05-29 15:16:01 +0000
commit60f1a3c288dd663ff420fada558763d7524e499b (patch)
tree01207f3046504b1fcf7e4e2ab020f14fdd59b3a2
parent1d155c1dd878d59f7cfdb6c4dfd5fc2ac2853573 (diff)
Added GL_NV_point_sprite functions: glPointParameteri[v]NV().
Removed dead ARB_window_pos functions (we alias the MESA_window_pos funcs).
-rw-r--r--src/mesa/glapi/glapioffsets.h2
-rw-r--r--src/mesa/glapi/glapitable.h2
-rw-r--r--src/mesa/glapi/glapitemp.h12
-rw-r--r--src/mesa/main/dlist.c105
-rw-r--r--src/mesa/main/glprocs.h2
-rw-r--r--src/mesa/main/state.c4
-rw-r--r--src/mesa/sparc/glapi_sparc.S42
-rw-r--r--src/mesa/x86/glapi_x86.S12
8 files changed, 76 insertions, 105 deletions
diff --git a/src/mesa/glapi/glapioffsets.h b/src/mesa/glapi/glapioffsets.h
index e810ecb4b57..2ecf718bbb2 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 aa3b449c33f..2f98e9b1a19 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 298b5917986..cf1976e9b8d 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 6af83a91673..3ae3f67bc14 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, &param);
}
-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 ecb9cbb9848..433910af441 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 de7679365a1..c513b4fccaf 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 ea964c24321..c9bf45b604a 100644
--- a/src/mesa/sparc/glapi_sparc.S
+++ b/src/mesa/sparc/glapi_sparc.S
@@ -15728,6 +15728,48 @@ glVertexAttribs4ubvNV:
#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
nop
.globl _mesa_sparc_glapi_end
diff --git a/src/mesa/x86/glapi_x86.S b/src/mesa/x86/glapi_x86.S
index 959ef2d8a80..3f32ba881ee 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__ */