mesa: Non-sprite points are deprecated
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 15 Aug 2012 15:45:03 +0000 (08:45 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 29 Aug 2012 22:09:36 +0000 (15:09 -0700)
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/main/points.c

index d66af2fa15620232ca66f6b134eadbc8776e996e..538f3cf44445d83973605c4d0719eebea53e7eea 100644 (file)
@@ -248,7 +248,19 @@ _mesa_init_point(struct gl_context *ctx)
    ctx->Point.MaxSize
       = MAX2(ctx->Const.MaxPointSize, ctx->Const.MaxPointSizeAA);
    ctx->Point.Threshold = 1.0;
-   ctx->Point.PointSprite = GL_FALSE; /* GL_ARB/NV_point_sprite */
+
+   /* Page 403 (page 423 of the PDF) of the OpenGL 3.0 spec says:
+    *
+    *     "Non-sprite points (section 3.4) - Enable/Disable targets
+    *     POINT_SMOOTH and POINT_SPRITE, and all associated state. Point
+    *     rasterization is always performed as though POINT_SPRITE were
+    *     enabled."
+    *
+    * In a core context, the state will default to true, and the setters and
+    * getters are disabled.
+    */
+   ctx->Point.PointSprite = (ctx->API == API_OPENGL_CORE);
+
    ctx->Point.SpriteRMode = GL_ZERO; /* GL_NV_point_sprite (only!) */
    ctx->Point.SpriteOrigin = GL_UPPER_LEFT; /* GL_ARB_point_sprite */
    for (i = 0; i < Elements(ctx->Point.CoordReplace); i++) {