From: Kenneth Graunke Date: Sat, 15 Dec 2012 09:14:03 +0000 (-0800) Subject: i965: Set vertical alignment unit to 4 on Broadwell. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1110ba4c088e41548090d52d669157c3e9f6f9fa;p=mesa.git i965: Set vertical alignment unit to 4 on Broadwell. Broadwell doesn't support a surface vertical alignment of 2. It only supports VALIGN_4, VALIGN_8, or VALIGN_16. I chose 4 since it's the least wasteful. v2: Replace my comment with a better one from Eric. Move Broadwell checks earlier so it's more obvious that "return 2" won't be hit. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 2c81eed741f..16af19f0090 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -117,6 +117,12 @@ intel_vertical_texture_alignment_unit(struct brw_context *brw, if (format == MESA_FORMAT_S8) return brw->gen >= 7 ? 8 : 4; + /* Broadwell only supports VALIGN of 4, 8, and 16. The BSpec says 4 + * should always be used, except for stencil buffers, which should be 8. + */ + if (brw->gen >= 8) + return 4; + if (multisampled) return 4;