[Mesa-dev] [PATCH ] i965/aa: fixing anti-aliasing bug for thinnest width lines - GEN7

Daniel Stone daniel at fooishbar.org
Tue Mar 17 09:41:39 PDT 2015


Hi,

On 17 March 2015 at 16:37,  <marius.predut at intel.com> wrote:
> --- a/src/mesa/drivers/dri/i965/gen7_sf_state.c
> +++ b/src/mesa/drivers/dri/i965/gen7_sf_state.c
> @@ -198,9 +198,15 @@ upload_sf_state(struct brw_context *brw)
>        float line_width =
>           roundf(CLAMP(ctx->Line.Width, 0.0, ctx->Const.MaxLineWidth));
>        uint32_t line_width_u3_7 = U_FIXED(line_width, 7);
> -      /* TODO: line width of 0 is not allowed when MSAA enabled */
> -      if (line_width_u3_7 == 0)
> -         line_width_u3_7 = 1;
> +
> +      if (!(multisampled_fbo && ctx->Multisample.Enabled)) {
> +         if (ctx->Line.SmoothFlag && ctx->Line.Width <= 1 )
> +            line_width_u3_7 = 0;
> +      } else {
> +          if (line_width_u3_7 = 0)
> +             line_width_u3_7 = 1;

You almost certainly meant 'if (line_width_u3 == 0)', rather than an
assignment - surprised the compiler didn't throw a warning here.


More information about the mesa-dev mailing list