blorp: use 2D dimension for 1D tiled images

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 31eeb72e45 ("blorp: Add support for blorp_copy via XY_BLOCK_COPY_BLT")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
(cherry picked from commit e0b5179869)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32730>
This commit is contained in:
Lionel Landwerlin 2024-12-12 13:15:35 +02:00 committed by Dylan Baker
parent 05e5d31b8b
commit 72c1e65d44
2 changed files with 6 additions and 2 deletions

View file

@ -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

View file

@ -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: