I'm a little confused as to the availability (or not) of ETC1 Textue compression on Android devices.
I see this (from the Android Docs) being quoted in various places:
Caution: The ETC1 format is supported by most Android devices, but it not guaranteed to be available. To check if the ETC1 format is supported on a device, call the ETC1Util.isETC1Supported() method.
I also believe (and please correct me if I'm wrong) that ETC1 support is mandated by OpenGL ES 2.0.
Therefore can someone please clarify if the above statement from the docs means simply that ETC1 Compression support is not guaranteed to be available OpenGL ES 1.x, devices, but might be available by way of an extenstion, therfore on these devices you should call the ETC1Util.isETC1Supported() method to check availability.
If my assumption is correct I would also assume then that I can be 100% guaranteed that ETC1 is available on all of my target devices (as my app uses OpenGL ES 2.0, which I check the availability of in-app). And therefore I don't need to check ETC1Util.isETC1Supported()?
Or maybe I'm misunderstanding it and I still need to check?
Based on the official Android documentation, it is guaranteed that devices with ES 2.0 support also support ETC1. I found at least two pages stating that:
On the page Creating Multiple APKs for Different GL Textures, under "Chart Your Requirements":
On the page with the documentation for supports-gl-texture, in the table with the individual formats, it says for
GL_OES_compressed_ETC1_RGB8_texture
: