mesa: skip pointsize exports if pointsize attenuation is enabled
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 20 Jun 2022 18:37:04 +0000 (14:37 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 22 Jun 2022 13:27:29 +0000 (13:27 +0000)
attenuation has its own method of exporting pointsize in fixedfunc shaders,
so ensure the attenuated size isn't overwritten

Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17145>

src/mesa/main/points.c

index 3c446ff..ec0be2f 100644 (file)
@@ -39,7 +39,7 @@
 static void
 update_point_size_set(struct gl_context *ctx)
 {
-   ctx->PointSizeIsSet = ctx->Point.Size == 1.0;
+   ctx->PointSizeIsSet = ctx->Point.Size == 1.0 || ctx->Point._Attenuated;
 }
 
 /**
@@ -128,6 +128,7 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params)
          ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0F ||
                                    ctx->Point.Params[1] != 0.0F ||
                                    ctx->Point.Params[2] != 0.0F);
+         update_point_size_set(ctx);
          break;
       case GL_POINT_SIZE_MIN_EXT:
          if (params[0] < 0.0F) {