pan/desc: Upgrade writeback format to RAW32 on v9+ when AFBC(RAW24)

AFBC(RAW24) is not supported on v9+. Use RAW32 instead, and let the AFBC
compression mode select the actual size.

No Fixes tag here, because AFBC(RAW24) is not a thing until we allow
non-UNORM formats with AFBC.

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37158>
This commit is contained in:
Boris Brezillon
2025-09-05 18:59:01 +02:00
committed by Marge Bot
parent 62dcc4c01b
commit dc00bd9825
+7
View File
@@ -698,6 +698,13 @@ GENX(pan_emit_afbc_color_attachment)(const struct pan_fb_info *fb,
cfg.write_enable = true;
get_rt_formats(iview->format, &cfg.writeback_format, &cfg.internal_format,
&cfg.swizzle);
/* AFBC+RAW24 is not supported on v9+. Use RAW32 instead, and let the AFBC
* compression mode select the actual size.
*/
if (PAN_ARCH >= 9 && cfg.writeback_format == MALI_COLOR_FORMAT_RAW24)
cfg.writeback_format = MALI_COLOR_FORMAT_RAW32;
cfg.srgb = util_format_is_srgb(iview->format);
cfg.writeback_block_format = get_afbc_block_format(image->props.modifier);
cfg.yuv_transform = image->props.modifier & AFBC_FORMAT_MOD_YTR;