[Mesa-dev] [PATCH] i965: Disable guardband clipping on SandyBridge for odd dimensions

Den den.kos363 at gmail.com
Thu Jun 7 12:30:55 UTC 2018


Hello. Found out that this patch also fixes 2 new issues:

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

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

Tested-by: Denis <denys.kostin at globallogic.com>


On 24.05.18 14:16, vadym.shovkoplias wrote:
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104388
> Signed-off-by: Andriy Khulap <andriy.khulap at globallogic.com>
> ---
>   src/mesa/drivers/dri/i965/genX_state_upload.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
> index b485e2c..5aa8033 100644
> --- a/src/mesa/drivers/dri/i965/genX_state_upload.c
> +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
> @@ -2473,6 +2473,17 @@ brw_calculate_guardband_size(uint32_t fb_width, uint32_t fb_height,
>       */
>      const float gb_size = GEN_GEN >= 7 ? 16384.0f : 8192.0f;
>   
> +   /* Workaround: prevent gpu hangs on SandyBridge
> +    * by disabling guardband clipping for odd dimensions.
> +    */
> +   if (GEN_GEN == 6 && (fb_width & 1 || fb_height & 1)) {
> +      *xmin = -1.0f;
> +      *xmax =  1.0f;
> +      *ymin = -1.0f;
> +      *ymax =  1.0f;
> +      return;
> +   }
> +
>      if (m00 != 0 && m11 != 0) {
>         /* First, we compute the screen-space render area */
>         const float ss_ra_xmin = MIN3(        0, m30 + m00, m30 - m00);



More information about the mesa-dev mailing list