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 <cgmeiner@igalia.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39658>
This commit is contained in:
Christian Gmeiner 2026-02-05 10:42:38 +01:00 committed by Marge Bot
parent 42bd467906
commit 3f1bdfa8b4

View file

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