freedreno/a6xx: Assume MOD_INVALID imports are linear

Without !25945 we must assume imports with invalid modifier are linear.
When both sides support metadata, we can promote the modifier.

Fixes: 33de58154f ("freedreno: Handle DRM_FORMAT_MOD_QCOM_TILED3 import")
Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26115>
This commit is contained in:
Rob Clark 2023-11-08 10:51:26 -08:00 committed by Marge Bot
parent f4601d82c1
commit a9bdf58c36

View file

@ -323,13 +323,17 @@ fd6_layout_resource_for_modifier(struct fd_resource *rsc, uint64_t modifier)
}
return 0;
case DRM_FORMAT_MOD_QCOM_TILED3:
rsc->layout.tile_mode = fd6_tile_mode(&rsc->b.b);
FALLTHROUGH;
case DRM_FORMAT_MOD_INVALID:
/* For now, without buffer metadata, we must assume that buffers
* imported with INVALID modifier are linear
*/
if (can_do_ubwc(&rsc->b.b)) {
perf_debug("%" PRSC_FMT
": not UBWC: imported with DRM_FORMAT_MOD_INVALID!",
PRSC_ARGS(&rsc->b.b));
}
rsc->layout.tile_mode = fd6_tile_mode(&rsc->b.b);
return 0;
default:
return -1;