[Mesa-dev] [PATCH] i965: Use a minimum point width of 1.0.
Kenneth Graunke
kenneth at whitecape.org
Sat Nov 17 09:40:02 UTC 2018
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
More information about the mesa-dev
mailing list