Upcoming patches need to consider if additional alignment is needed for arrayed/mipmapped and single-sampled mcs buffer.
Signed-off-by: Topi Pohjolainen <topi.pohjolai...@intel.com> --- src/mesa/drivers/dri/i965/brw_tex_layout.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_tex_layout.c b/src/mesa/drivers/dri/i965/brw_tex_layout.c index 4618bc0..94ded33 100644 --- a/src/mesa/drivers/dri/i965/brw_tex_layout.c +++ b/src/mesa/drivers/dri/i965/brw_tex_layout.c @@ -382,6 +382,8 @@ brw_miptree_get_vertical_slice_pitch(const struct brw_context *brw, const struct intel_mipmap_tree *mt, unsigned level) { + unsigned qpitch; + if (brw->gen >= 9) { /* ALL_SLICES_AT_EACH_LOD isn't supported on Gen8+ but this code will * effectively end up with a packed qpitch anyway whenever @@ -392,7 +394,7 @@ brw_miptree_get_vertical_slice_pitch(const struct brw_context *brw, /* On Gen9 we can pick whatever qpitch we like as long as it's aligned * to the vertical alignment so we don't need to add any extra rows. */ - unsigned qpitch = mt->total_height; + qpitch = mt->total_height; /* If the surface might be used as a stencil buffer or HiZ buffer then * it needs to be a multiple of 8. @@ -407,19 +409,18 @@ brw_miptree_get_vertical_slice_pitch(const struct brw_context *brw, if (mt->target == GL_TEXTURE_3D) qpitch = ALIGN(qpitch, 32); - return qpitch; - } else if (mt->target == GL_TEXTURE_3D || (brw->gen == 4 && mt->target == GL_TEXTURE_CUBE_MAP) || mt->array_layout == ALL_SLICES_AT_EACH_LOD) { - return ALIGN_NPOT(minify(mt->physical_height0, level), mt->valign); - + qpitch = ALIGN_NPOT(minify(mt->physical_height0, level), mt->valign); } else { const unsigned h0 = ALIGN_NPOT(mt->physical_height0, mt->valign); const unsigned h1 = ALIGN_NPOT(minify(mt->physical_height0, 1), mt->valign); - return h0 + h1 + (brw->gen >= 7 ? 12 : 11) * mt->valign; + qpitch = h0 + h1 + (brw->gen >= 7 ? 12 : 11) * mt->valign; } + + return qpitch; } static void -- 2.5.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev