asahi: Advertise ASTC formats

Now that we have layout and tiling code that can handle block-compressed
formats, including the non-square blocks found with some ASTC formats,
we can advertise ASTC formats. Passes dEQP-GLES3.*astc* which
exercises everything here. (These tests passed before by decompressing
the textures to RGBA8 UNORM in the frontend, but it's much more
efficient to use real ASTC textures as done here.)

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18167>
This commit is contained in:
Alyssa Rosenzweig
2022-08-20 12:35:53 -04:00
committed by Marge Bot
parent c71e84b37e
commit 4ed9843a26

View File

@@ -124,6 +124,36 @@ const struct agx_pixel_format_entry agx_pixel_format[PIPE_FORMAT_COUNT] = {
AGX_FMT(ETC2_R11_SNORM, EAC_R11, SNORM, F,_),
AGX_FMT(ETC2_RG11_UNORM, EAC_RG11, UNORM, F,_),
AGX_FMT(ETC2_RG11_SNORM, EAC_RG11, SNORM, F,_),
AGX_FMT(ASTC_4x4, ASTC_4X4, UNORM, F, _),
AGX_FMT(ASTC_5x4, ASTC_5X4, UNORM, F, _),
AGX_FMT(ASTC_5x5, ASTC_5X5, UNORM, F, _),
AGX_FMT(ASTC_6x5, ASTC_6X5, UNORM, F, _),
AGX_FMT(ASTC_6x6, ASTC_6X6, UNORM, F, _),
AGX_FMT(ASTC_8x5, ASTC_8X5, UNORM, F, _),
AGX_FMT(ASTC_8x6, ASTC_8X6, UNORM, F, _),
AGX_FMT(ASTC_8x8, ASTC_8X8, UNORM, F, _),
AGX_FMT(ASTC_10x5, ASTC_10X5, UNORM, F, _),
AGX_FMT(ASTC_10x6, ASTC_10X6, UNORM, F, _),
AGX_FMT(ASTC_10x8, ASTC_10X8, UNORM, F, _),
AGX_FMT(ASTC_10x10, ASTC_10X10, UNORM, F, _),
AGX_FMT(ASTC_12x10, ASTC_12X10, UNORM, F, _),
AGX_FMT(ASTC_12x12, ASTC_12X12, UNORM, F, _),
AGX_FMT(ASTC_4x4_SRGB, ASTC_4X4, UNORM, F, _),
AGX_FMT(ASTC_5x4_SRGB, ASTC_5X4, UNORM, F, _),
AGX_FMT(ASTC_5x5_SRGB, ASTC_5X5, UNORM, F, _),
AGX_FMT(ASTC_6x5_SRGB, ASTC_6X5, UNORM, F, _),
AGX_FMT(ASTC_6x6_SRGB, ASTC_6X6, UNORM, F, _),
AGX_FMT(ASTC_8x5_SRGB, ASTC_8X5, UNORM, F, _),
AGX_FMT(ASTC_8x6_SRGB, ASTC_8X6, UNORM, F, _),
AGX_FMT(ASTC_8x8_SRGB, ASTC_8X8, UNORM, F, _),
AGX_FMT(ASTC_10x5_SRGB, ASTC_10X5, UNORM, F, _),
AGX_FMT(ASTC_10x6_SRGB, ASTC_10X6, UNORM, F, _),
AGX_FMT(ASTC_10x8_SRGB, ASTC_10X8, UNORM, F, _),
AGX_FMT(ASTC_10x10_SRGB, ASTC_10X10, UNORM, F, _),
AGX_FMT(ASTC_12x10_SRGB, ASTC_12X10, UNORM, F, _),
AGX_FMT(ASTC_12x12_SRGB, ASTC_12X12, UNORM, F, _),
};
const enum agx_format