1

I'm looking for a list of Android devices and their relative OpenGL Texture Compression formats supported by it's hardware.

There are mainly four textures compression types supported on Android:

  • ETC1 (Ericcson texture compression). This format is supported by all Android phones. But, It doesn't support an alpha channel, so can only be used for opaque textures.
  • PVRTC (PowerVR texture compression). Supported by devices with PowerVR GPUs (Nexus S, Kindle fire...).
  • ATITC (ATI texture compression).Used in devices with Adreno GPU from Qualcomm (Nexus One...).
  • S3TC (S3 texture compression). This texture compression is used in the NVIDIA chipset integrated devices (Motorola Xoom...)

I have logging built in the game engine I'm working with that will tell me what format to use when I run my app on a single device, but I would like to find a trustworthy resource to use as reference.

Has anyone ever seen anything like this online anywhere?

genpfault
  • 51,148
  • 11
  • 85
  • 139
parallaxis
  • 196
  • 1
  • 13

1 Answers1

2

There is no such list (at least not trustworthy) because

  • there are several Android devices released every day
  • there are more texture compression formats than you mentioned in your list (ETC2/EAC, ASTC, LATC, ...)
  • there are more 3D HW vendors than you mentioned in your list (ARM Mali, Intel HD Graphics, Vivante, ...)

You should never rely on relation between 3D HW vendor & particular texture compression support, instead of this you should check for supported texture compressions run-time (after OpenGL/ES initialization) by looking for extension sub string in string returned by glGetString(GL_EXTENSIONS), e.g "GL_EXT_texture_compression_s3tc" for S3TC, "GL_IMG_texture_compression_pvrtc" for PVRTC.

  • Instead of checking extensions, a more streamlined approach is to use `glGetIntegerv(GL_COMPRESSED_TEXTURE_FORMATS, ...)` to enumerate the supported formats. – Reto Koradi Feb 04 '15 at 06:25