set table size to 1023 and use new HASH_FUNC() macro
[mesa.git] / src / mesa / main / points.c
index cbb91554a1e35c1bfa496f7b60afb0c16ac6fc4f..2ffb1a421253f133192c8d72854739cc2839e90c 100644 (file)
@@ -5,9 +5,9 @@
 
 /*
  * Mesa 3-D graphics library
- * Version:  5.1
+ * Version:  6.2
  *
- * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2004  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -229,6 +229,25 @@ _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params)
             return;
          }
          break;
+      case GL_POINT_SPRITE_COORD_ORIGIN:
+         if (ctx->Extensions.ARB_point_sprite) {
+            GLenum value = (GLenum) params[0];
+            if (value != GL_LOWER_LEFT && value != GL_UPPER_LEFT) {
+               _mesa_error(ctx, GL_INVALID_VALUE,
+                           "glPointParameterf[v]{EXT,ARB}(param)");
+               return;
+            }
+            if (ctx->Point.SpriteOrigin == value)
+               return;
+            FLUSH_VERTICES(ctx, _NEW_POINT);
+            ctx->Point.SpriteOrigin = value;
+         }
+         else {
+            _mesa_error(ctx, GL_INVALID_ENUM,
+                        "glPointParameterf[v]{EXT,ARB}(pname)");
+            return;
+         }
+         break;
       default:
          _mesa_error( ctx, GL_INVALID_ENUM,
                       "glPointParameterf[v]{EXT,ARB}(pname)" );
@@ -266,6 +285,7 @@ void _mesa_init_point( GLcontext * ctx )
    ctx->Point.Threshold = 1.0;
    ctx->Point.PointSprite = GL_FALSE; /* GL_ARB_point_sprite / GL_NV_point_sprite */
    ctx->Point.SpriteRMode = GL_ZERO; /* GL_NV_point_sprite (only!) */
+   ctx->Point.SpriteOrigin = GL_UPPER_LEFT; /* GL_ARB_point_sprite */
    for (i = 0; i < MAX_TEXTURE_UNITS; i++) {
       ctx->Point.CoordReplace[i] = GL_FALSE; /* GL_ARB_point_sprite / GL_NV_point_sprite */
    }