From e0b5179869485e1bade9e499731f0318e44d561b Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 12 Dec 2024 13:15:35 +0200 Subject: [PATCH] blorp: use 2D dimension for 1D tiled images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Lionel Landwerlin Fixes: 31eeb72e45 ("blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT") Reviewed-by: Tapani Pälli Part-of: --- src/intel/blorp/blorp_genX_exec_brw.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/intel/blorp/blorp_genX_exec_brw.h b/src/intel/blorp/blorp_genX_exec_brw.h index 4dbf16d0422..f51ba4a2a15 100644 --- a/src/intel/blorp/blorp_genX_exec_brw.h +++ b/src/intel/blorp/blorp_genX_exec_brw.h @@ -1874,7 +1874,11 @@ xy_bcb_surf_dim(const struct isl_surf *surf) { switch (surf->dim) { case ISL_SURF_DIM_1D: - return XY_SURFTYPE_1D; + /* An undocumented assertion in simulation is that 1D surfaces must use + * LINEAR tiling. But that doesn't work, so instead consider 1D tiled + * surfaces as 2D with a Height=1. + */ + return surf->tiling != ISL_TILING_LINEAR ? XY_SURFTYPE_2D: XY_SURFTYPE_1D; case ISL_SURF_DIM_2D: return XY_SURFTYPE_2D; case ISL_SURF_DIM_3D: