Does "Support OpenGL 3.1" Build Always Use ASTC?

Hi,

On the Android platform build settings, there’s an option “Support OpenGL ES 3.1”. Say I just want this ticked with no OpenGL ES 2 support, does this guarantee that I only need to deliver with ASTC texture format, assuming it delivers with AEP support only?

Previously there was an option called “OpenGL ES 3.1 + AEP” if I recall. So I just want to make sure if I can just pack and distribute my game only using ASTC for Android, aiming to high-end phones on Android 6+.

Cheers.

AFAIK ES 3.1 GPUs aren’t required to support ASTC. Only way to know is checking for the GL_KHR_texture_compression_astc_ldr capability. I think you can set that on your manifest to force Google Play to only list your app for compatible devices, like this:

<supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr />

But if you want your app to be playable on devices that don’t support that, you’ll have to either pack ETC2 textures as well (increasing app size), look into setting up Google Play’s multiple APK system or setting up your own content download system (that’s what Lineage II does: their APK is very small, detects the device’s supported textures and then downloads the matching assets from their servers).

The manifest and backward-compatibility is ok for me, I can sacrifice for one more texture format.