From: vadym.shovkoplias Date: Thu, 24 May 2018 11:16:46 +0000 (+0300) Subject: i965: Disable guardband clipping on SandyBridge for odd dimensions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=399228ecad37f420be3028165b94d5d8d33516fc;p=mesa.git i965: Disable guardband clipping on SandyBridge for odd dimensions Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104388 Signed-off-by: Andriy Khulap Acked-by: Rafael Antognolli --- diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c index 9e0a17b9d93..672035c36ef 100644 --- a/src/mesa/drivers/dri/i965/genX_state_upload.c +++ b/src/mesa/drivers/dri/i965/genX_state_upload.c @@ -2508,6 +2508,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);