From 3f1bdfa8b449440ae159aa279aa65fc2ce2aa133 Mon Sep 17 00:00:00 2001 From: Christian Gmeiner Date: Thu, 5 Feb 2026 10:42:38 +0100 Subject: [PATCH] pan/format: Disable storage image support for compressed formats Compressed formats cannot support storage operations on any Mali generation: - On Bifrost (v6-v7), the texture descriptor contains the compressed format directly, and the hardware doesn't support storage operations on compressed formats. - On Valhall (v9+), storage operations would require InternalConversionDescriptors, which cannot describe compressed formats. Storage operations on compressed formats don't make practical sense anyway - each pixel write would require full block recompression. Remove PAN_BIND_STORAGE_IMAGE from the FMTC macro used by all compressed format definitions. Fixes crashes in dEQP-VK.memory.zero_initialize_device_memory tests that attempt to use compressed formats as storage images. Signed-off-by: Christian Gmeiner Reviewed-by: Erik Faye-Lund Part-of: --- src/panfrost/lib/pan_format.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/panfrost/lib/pan_format.c b/src/panfrost/lib/pan_format.c index 11b7ab8cf83..29cff9fa4cf 100644 --- a/src/panfrost/lib/pan_format.c +++ b/src/panfrost/lib/pan_format.c @@ -163,7 +163,7 @@ const struct pan_blendable_format #define FMTC(pipe, texfeat, interchange, swizzle, srgb) \ [PIPE_FORMAT_##pipe] = { \ .hw = MALI_PACK_FMT(texfeat, swizzle, srgb), \ - .bind = (PAN_BIND_SAMPLER_VIEW | PAN_BIND_STORAGE_IMAGE), \ + .bind = (PAN_BIND_SAMPLER_VIEW), \ .texfeat_bit = MALI_##texfeat, \ } #else @@ -173,7 +173,7 @@ const struct pan_blendable_format #define FMTC(pipe, texfeat, interchange, swizzle, srgb) \ [PIPE_FORMAT_##pipe] = { \ .hw = MALI_PACK_FMT(interchange, swizzle, srgb), \ - .bind = (PAN_BIND_SAMPLER_VIEW | PAN_BIND_STORAGE_IMAGE), \ + .bind = (PAN_BIND_SAMPLER_VIEW), \ .texfeat_bit = MALI_##texfeat, \ } #endif