From 72c1e65d440d77c010fa2be9736f2c57f6cfd0fa 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 (cherry picked from commit e0b5179869485e1bade9e499731f0318e44d561b) Part-of: --- .pick_status.json | 2 +- src/intel/blorp/blorp_genX_exec_brw.h | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index be25a526d0f..7dfecf58afa 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -834,7 +834,7 @@ "description": "blorp: use 2D dimension for 1D tiled images", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "31eeb72e45be6ef943df0b60f3cd7a646fa7b349", "notes": null diff --git a/src/intel/blorp/blorp_genX_exec_brw.h b/src/intel/blorp/blorp_genX_exec_brw.h index dc5b633bd30..b954f3d5117 100644 --- a/src/intel/blorp/blorp_genX_exec_brw.h +++ b/src/intel/blorp/blorp_genX_exec_brw.h @@ -1860,7 +1860,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: