From 61838fd9ad9e5e878cbc39d3f37b2188b9ec8d11 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Mon, 3 Nov 2014 16:26:48 -0800 Subject: [PATCH] i965: Use ctx->Const.MaxLineWidth when clamping ctx->Line.Width. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Rather than hardcoding platform values in every code path, just use the maximum value we set. Currently, ctx->Const.LineWidth == 5, which is smaller than the hardware limit. But applications shouldn't be using a value larger than we support anyway. Signed-off-by: Kenneth Graunke Reviewed-by: Kristian Høgsberg --- src/mesa/drivers/dri/i965/brw_sf_state.c | 4 ++-- src/mesa/drivers/dri/i965/gen6_sf_state.c | 3 ++- src/mesa/drivers/dri/i965/gen7_sf_state.c | 3 ++- src/mesa/drivers/dri/i965/gen8_sf_state.c | 3 ++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_sf_state.c b/src/mesa/drivers/dri/i965/brw_sf_state.c index 7f31bc1..2fecd1e 100644 --- a/src/mesa/drivers/dri/i965/brw_sf_state.c +++ b/src/mesa/drivers/dri/i965/brw_sf_state.c @@ -213,8 +213,8 @@ static void upload_sf_unit( struct brw_context *brw ) } /* _NEW_LINE */ - /* XXX use ctx->Const.Min/MaxLineWidth here */ - sf->sf6.line_width = CLAMP(ctx->Line.Width, 1.0, 5.0) * (1<<1); + sf->sf6.line_width = + CLAMP(ctx->Line.Width, 1.0, ctx->Const.MaxLineWidth) * (1<<1); sf->sf6.line_endcap_aa_region_width = 1; if (ctx->Line.SmoothFlag) diff --git a/src/mesa/drivers/dri/i965/gen6_sf_state.c b/src/mesa/drivers/dri/i965/gen6_sf_state.c index d0411b0..24d2754 100644 --- a/src/mesa/drivers/dri/i965/gen6_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen6_sf_state.c @@ -322,7 +322,8 @@ upload_sf_state(struct brw_context *brw) /* _NEW_LINE */ { - uint32_t line_width_u3_7 = U_FIXED(CLAMP(ctx->Line.Width, 0.0, 7.99), 7); + uint32_t line_width_u3_7 = + U_FIXED(CLAMP(ctx->Line.Width, 0.0, ctx->Const.MaxLineWidth), 7); /* TODO: line width of 0 is not allowed when MSAA enabled */ if (line_width_u3_7 == 0) line_width_u3_7 = 1; diff --git a/src/mesa/drivers/dri/i965/gen7_sf_state.c b/src/mesa/drivers/dri/i965/gen7_sf_state.c index 150a4d3..109b825 100644 --- a/src/mesa/drivers/dri/i965/gen7_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c @@ -190,7 +190,8 @@ upload_sf_state(struct brw_context *brw) /* _NEW_LINE */ { - uint32_t line_width_u3_7 = U_FIXED(CLAMP(ctx->Line.Width, 0.0, 7.99), 7); + uint32_t line_width_u3_7 = + U_FIXED(CLAMP(ctx->Line.Width, 0.0, ctx->Const.MaxLineWidth), 7); /* TODO: line width of 0 is not allowed when MSAA enabled */ if (line_width_u3_7 == 0) line_width_u3_7 = 1; diff --git a/src/mesa/drivers/dri/i965/gen8_sf_state.c b/src/mesa/drivers/dri/i965/gen8_sf_state.c index 6aa7b4d..6995a6a 100644 --- a/src/mesa/drivers/dri/i965/gen8_sf_state.c +++ b/src/mesa/drivers/dri/i965/gen8_sf_state.c @@ -149,7 +149,8 @@ upload_sf(struct brw_context *brw) dw1 |= GEN6_SF_VIEWPORT_TRANSFORM_ENABLE; /* _NEW_LINE */ - uint32_t line_width_u3_7 = U_FIXED(CLAMP(ctx->Line.Width, 0.0, 7.99), 7); + uint32_t line_width_u3_7 = + U_FIXED(CLAMP(ctx->Line.Width, 0.0, ctx->Const.MaxLineWidth), 7); if (line_width_u3_7 == 0) line_width_u3_7 = 1; if (brw->gen >= 9 || brw->is_cherryview) { -- 2.7.4