summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2017-04-26 14:28:49 -0700
committerKenneth Graunke <[email protected]>2017-04-28 17:03:33 -0700
commitb625bcc601a16fab1962f9ed569700d3d08738b9 (patch)
treec66fb4600569b6a74bce9f05f1bca45723e9fb52
parent81149c8f52fa59f72b7a3587e4309a695d77fa97 (diff)
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 <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_sf_state.c2
1 files changed, 1 insertions, 1 deletions
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