From: Alyssa Rosenzweig Date: Sat, 20 Aug 2022 16:35:53 +0000 (-0400) Subject: asahi: Advertise ASTC formats X-Git-Tag: upstream/22.3.5~3761 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4ed9843a2698add2e43861d1b5395f4422c090a2;p=platform%2Fupstream%2Fmesa.git 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 Part-of: --- diff --git a/src/asahi/lib/agx_formats.c b/src/asahi/lib/agx_formats.c index 1fc0c25..a9433e5 100644 --- a/src/asahi/lib/agx_formats.c +++ b/src/asahi/lib/agx_formats.c @@ -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