Intel Removes ASTC Hardware From Gen12.5+ Graphics
Somewhat of a surprising change with Intel Gen12.5 graphics is that they have removed the hardware supporting Adaptive Scalable Texture Compression (ASTC). Intel's Linux graphics driver has now been updated to address Gen12.5+ foregoing hardware support for ASTC texture compression.
Adaptive Scalable Texture Compression was much welcomed on the scene particularly by Linux/open-source folks when more than a decade ago S3TC texture compression was quite common but patent-encumbered and posed complications for open-source usage/adoption. ASTC support was added as official extensions to OpenGL and OpenGL ES nearly a decade ago for this lossy block-based algorithm. Since Intel Gen9/Skylake graphics there has been support for ASTC in the graphics hardware while now with Gen12.5 graphics that hardware is being removed.
Presumably Intel decided to get rid of the dedicated ASTC hardware in feeling software-based ASTC support is good enough and not worth the die space. Indeed, Gallium3D has offered a software fallback for ASTC going back years. Intel Gen12.5 starts with Xe HP and includes forthcoming DG2/Alchemist graphics cards.
This merge request that landed in Mesa 21.3-devel yesterday confirms the removal of ASTC hardware support with Intel Gen12.5. The Iris Gallium3D and ANV Vulkan drivers were tweaked for the removal. "On Gfx12.5+, they've removed the ASTC hardware. On ANV, this means we need to disable support for all the ASTC formats as well as disable the textureCompressionASTC_LDR feature bit. In iris, it means that ASTC textures will get automatically decompressed behind the scenes. If they transcode_astc driconf option is set, they will get transcoded to DXT5 at slightly reduced quality for better perf and memory usage."
Adaptive Scalable Texture Compression was much welcomed on the scene particularly by Linux/open-source folks when more than a decade ago S3TC texture compression was quite common but patent-encumbered and posed complications for open-source usage/adoption. ASTC support was added as official extensions to OpenGL and OpenGL ES nearly a decade ago for this lossy block-based algorithm. Since Intel Gen9/Skylake graphics there has been support for ASTC in the graphics hardware while now with Gen12.5 graphics that hardware is being removed.
Presumably Intel decided to get rid of the dedicated ASTC hardware in feeling software-based ASTC support is good enough and not worth the die space. Indeed, Gallium3D has offered a software fallback for ASTC going back years. Intel Gen12.5 starts with Xe HP and includes forthcoming DG2/Alchemist graphics cards.
This merge request that landed in Mesa 21.3-devel yesterday confirms the removal of ASTC hardware support with Intel Gen12.5. The Iris Gallium3D and ANV Vulkan drivers were tweaked for the removal. "On Gfx12.5+, they've removed the ASTC hardware. On ANV, this means we need to disable support for all the ASTC formats as well as disable the textureCompressionASTC_LDR feature bit. In iris, it means that ASTC textures will get automatically decompressed behind the scenes. If they transcode_astc driconf option is set, they will get transcoded to DXT5 at slightly reduced quality for better perf and memory usage."
10 Comments