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