Radeon RADV Lands Emulated ETC2 Support For Improving 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.