From b625bcc601a16fab1962f9ed569700d3d08738b9 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 26 Apr 2017 14:28:49 -0700 Subject: [PATCH] i965: Use true AA line distance on G45/Ironlake. The original Broadwater and Crestline platforms computed antialiased line distances using "manhattan" distance, aka a + b = c. Eaglelake and Cantiga added "true" distance, which apparently does something like max(a, b) + min(a, b) / 4. Not exactly "true", but at least more accurate. The G45 documentation indicates that the old manhattan distance setting is "only for debug purposes" and should never be used. The Ironlake documentation no longer mentions AALINEDISTANCE_MANHATTAN, though it does still contain the narrative about the feature. At any rate, we should use the more accurate mode. Reviewed-by: Plamena Manolova Reviewed-by: Francisco Jerez --- src/mesa/drivers/dri/i965/brw_sf_state.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c index e919f5d14b4..d50ceb12133 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_state.c +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c @@ -265,7 +265,7 @@ static void upload_sf_unit( struct brw_context *brw ) /* _NEW_PROGRAM | _NEW_POINT */ sf->sf7.use_point_size_state = !(ctx->VertexProgram.PointSizeEnabled || ctx->Point._Attenuated); - sf->sf7.aa_line_distance_mode = 0; + sf->sf7.aa_line_distance_mode = brw->is_g4x || brw->gen == 5; /* might be BRW_NEW_PRIMITIVE if we have to adjust pv for polygons: * _NEW_LIGHT -- 2.30.2