[Mesa-dev] [PATCH] i965/blorp: Fix clear rectangle alignment in fast color clear

Ian Romanick idr at freedesktop.org
Wed Jul 10 16:40:00 PDT 2013


On 07/09/2013 06:12 PM, Anuj Phogat wrote:
> For HSW GT3 clear rectangle must be aligned to two times the number of
> pixels in the table shown in Ivy Bridge PRM, Vol2 Part1 11.7.
> It should be safe to do this for all gen7 systems unless we see any
> performance regressions. I observed no piglit, gles3conform regressions
> with this patch.
>
> It fixes: https://bugs.freedesktop.org/show_bug.cgi?id=65744

Use the normative reference so that the release scripts will work. 
Below the signed-of-by,

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65744

> Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
> ---
> Thanks Paul for your great help in figuring out the fix.
>
>   src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | 12 ++++++++----
>   1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> index bf11135..2bebe8e 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> @@ -261,10 +261,14 @@ brw_blorp_clear_params::brw_blorp_clear_params(struct brw_context *brw,
>         intel_get_non_msrt_mcs_alignment(intel, irb->mt, &x_align, &y_align);
>         x_align *= 16;
>         y_align *= 32;
> -      x0 = ROUND_DOWN_TO(x0, x_align);
> -      y0 = ROUND_DOWN_TO(y0, y_align);
> -      x1 = ALIGN(x1, x_align);
> -      y1 = ALIGN(y1, y_align);
> +      /* For HSW GT3 clear rectangle must be aligned to two times the number
> +       * of pixels in the table.
> +       */
> +
> +      x0 = ROUND_DOWN_TO(x0, (intel->gen > 6 ? 2 * x_align : x_align));
> +      y0 = ROUND_DOWN_TO(y0, (intel->gen > 6 ? 2 * y_align : y_align));
> +      x1 = ALIGN(x1, (intel->gen > 6 ? 2 * x_align : x_align));
> +      y1 = ALIGN(y1, (intel->gen > 6 ? 2 * y_align : y_align));
>
>         /* From the Ivy Bridge PRM, Vol2 Part1 11.7 "MCS Buffer for Render
>          * Target(s)", beneath the "Fast Color Clear" bullet (p327):
>



More information about the mesa-dev mailing list