We are running Android 4.3 Jellybean, with the board support package i.MX Android jb4.3_1.1.0 on an i.mx6 Quad (Vivante GC2000) board and are unable to use ETC1 texture compression in our Java OpenGLES2.0 apps. Kernel version is 3.0.35.
ETC1Util.isETC1Supported() returns true in my Android test app and I have valid ETC1 textures.
The following snippet below from my app (valid code that compiles and runs) generates a GL error 1280. This is GL_INVALID_ENUM; clearly this is in response to the ETC1.ETC_RGB8_OES value passed in.
GLES20.glCompressedTexImage2D(GLES20.GL_TEXTURE_2D, 0, ETC1.ETC1_RGB8_OES, width, height, 0, imageSize, etc1Texture.getData());
When the kernel boots I display the Galcore options:
Galcore version 220.127.116.1154
compression = -1
Does this mean texture compression is not supported?
When grepping through the code in the kernel GPU drivers I see where compression is set to -1 in ....../gpu_viv/hal/os/linux/kernel/gc_hal_kernel_driver. i.e.
static int compression = -1;
module_param(compression, int, 0644);
However, compression does not appear to be set anywhere else.
Thanks for any help anyone can offer!