The patch is straight forward, update the clamped Point._Size
immediately. fixes glSetPointSize() for R300.


Rune Petersen
diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c
index c6b0324..9caa9ab 100644
--- a/src/mesa/main/points.c
+++ b/src/mesa/main/points.c
@@ -57,6 +57,13 @@ _mesa_PointSize( GLfloat size )
 
    FLUSH_VERTICES(ctx, _NEW_POINT);
    ctx->Point.Size = size;
+   ctx->Point._Size = CLAMP(ctx->Point.Size,
+			    ctx->Point.MinSize,
+			    ctx->Point.MaxSize);
+
+   ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0 ||
+                             ctx->Point.Params[1] != 0.0 ||
+                             ctx->Point.Params[2] != 0.0);
 
    if (ctx->Driver.PointSize)
       ctx->Driver.PointSize(ctx, size);
@@ -232,26 +239,6 @@ _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params)
 
 
 /**
- * Update derived point-related state.
- */
-void
-_mesa_update_point(GLcontext *ctx)
-{
-   /* clamp to user-specified limits now, clamp to ctx->Const.Min/Max
-    * limits during rasterization.
-    */
-   ctx->Point._Size = CLAMP(ctx->Point.Size,
-			    ctx->Point.MinSize,
-			    ctx->Point.MaxSize);
-
-   ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0 ||
-                             ctx->Point.Params[1] != 0.0 ||
-                             ctx->Point.Params[2] != 0.0);
-}
-
-
-
-/**
  * Initialize the context point state.
  *
  * \param ctx GL context.
diff --git a/src/mesa/main/points.h b/src/mesa/main/points.h
index 56acd9e..951ff67 100644
--- a/src/mesa/main/points.h
+++ b/src/mesa/main/points.h
@@ -50,9 +50,6 @@ _mesa_PointParameterfEXT( GLenum pname, GLfloat param );
 extern void GLAPIENTRY
 _mesa_PointParameterfvEXT( GLenum pname, const GLfloat *params );
 
-extern void
-_mesa_update_point(GLcontext *ctx);
-
 extern void 
 _mesa_init_point( GLcontext * ctx );
 
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index 55fb455..f4f73a5 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -1111,9 +1111,6 @@ _mesa_update_state_locked( GLcontext *ctx )
    if (new_state & (_NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT))
       _mesa_update_draw_buffer_bounds( ctx );
 
-   if (new_state & _NEW_POINT)
-      _mesa_update_point( ctx );
-
    if (new_state & _NEW_LIGHT)
       _mesa_update_lighting( ctx );
 
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to