Skip to content

panfrost: Add support for AFBC packing

By default, when compressing a texture to AFBC, Mali GPUs will use a sparse memory layout. All superblock bodies will be aligned with the size of an uncompressed superblock. However, it is possible to trim all superblocks and keep only the valid compressed data. This MR adds support to do just that by using compute shaders.

It is impossible to write to an AFBC-packed texture, so in order to draw/blit to one, we need to blit from AFBC-packed to AFBC-sparse. In some blit scenarios, it is possible to "patch" the packed texture using another computer shader introduced in this MR.

Signed-off-by: Louis-Francis Ratté-Boulianne lfrb@collabora.com

Merge request reports