Do smaller point sizes make sense when multisampling?

On November 17, 2018 03:40:10 Kenneth Graunke <kenn...@whitecape.org> wrote:

We advertise 1.0 as the minimum point width size, and we probably ought
to clamp gl_PointSize to the actual range we advertise ([1,255]).  In
particular, we don't seem to rasterize any points if the shader outputs
a point size smaller than 1.0, and that seems rather sketchy.

This fixes Piglit's vs-point_size-zero test, which writes 0 for
gl_PointSize and expects something to be rendered.  However, that test
may be technically incorrect - according to the OpenGL spec, "If the
value written to gl_PointSize is less than or equal to zero, results are
undefined."  Presumably "undefined" includes "don't render any points".

Of course, what the test expects is pretty /reasonable/ behavior, even
if not mandatory, so we may as well do what it wants...
---
src/mesa/drivers/dri/i965/genX_state_upload.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index 5acd0922922..0a0add97d80 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -1547,7 +1547,7 @@ genX(upload_clip_state)(struct brw_context *brw)
      if (!brw_is_drawing_points(brw) && !brw_is_drawing_lines(brw))
         clip.ViewportXYClipTestEnable = true;

-      clip.MinimumPointWidth = 0.125;
+      clip.MinimumPointWidth = 1.0;
      clip.MaximumPointWidth = 255.875;
      clip.MaximumVPIndex = viewport_count - 1;
      if (_mesa_geometric_layers(fb) == 0)
--
2.19.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to