Radeon RADV Lands Emulated ETC2 Support For Improving Android Support
While the ETC2 texture compression standard is royalty-free and popular for OpenGL / GLES / Vulkan use, recent AMD Radeon GPUs and APUs have removed their native support for this alternative to the likes of ASTC and S3TC. But now in Mesa 22.0 there is emulated ETC2 support for the Radeon "RADV" Vulkan driver to in turn improve this open-source driver's Android support.
As covered last week, RADV ETC2 emulation has been in the works with only the likes of AMD Stoney APUs and Vega/GFX9 featuring native ETC2 hardware support.
This ETC2 emulated support relies on "a quite complicated decode shader." Additionally, developer Bas Nieuwenhuizen of Google noted, "It is not bit-to-bit equivalent to AMD APUs that support ETC2, but close enough to pass CTS."
This emulated support though is still worthwhile since ETC2 texture compression is "super required" for Android use.
The exact Android motivation for making the improvement to this RADV driver isn't clear but presumably in the context of the Android support on Chrome OS for Ryzen-powered Chromebooks and Android VMs. Outside of Android, the RADV emualted ETC2 support is only being enabled when opted into it via the "radv_require_etc2" DriConf option.
More details in this MR that landed today for next quarter's Mesa 22.0 stable release. More background information on ETC2 in ETC2 Texture Compression Looks Good For OpenGL.
As covered last week, RADV ETC2 emulation has been in the works with only the likes of AMD Stoney APUs and Vega/GFX9 featuring native ETC2 hardware support.
This ETC2 emulated support relies on "a quite complicated decode shader." Additionally, developer Bas Nieuwenhuizen of Google noted, "It is not bit-to-bit equivalent to AMD APUs that support ETC2, but close enough to pass CTS."
This emulated support though is still worthwhile since ETC2 texture compression is "super required" for Android use.
The exact Android motivation for making the improvement to this RADV driver isn't clear but presumably in the context of the Android support on Chrome OS for Ryzen-powered Chromebooks and Android VMs. Outside of Android, the RADV emualted ETC2 support is only being enabled when opted into it via the "radv_require_etc2" DriConf option.
More details in this MR that landed today for next quarter's Mesa 22.0 stable release. More background information on ETC2 in ETC2 Texture Compression Looks Good For OpenGL.
4 Comments