GL11Ext glDrawTexiOES throws INVALID_OPERATION exception for some devices

PressRex profile image
by PressRex
GL11Ext glDrawTexiOES throws INVALID_OPERATION exception for some devices

I use glDrawTexiOES for a Live Wallpaper. This command just draw a bitmap by a texture every second. It is works fine on 99.9% of devices. But other throws INVALID_OPERATION exceptions.

I can not reproduce this exception just can use negative or zero values of width and height and get INVALID_VALUE exception.

I tried to disable texture, set active texture to 1 etc. Finally I commented all code and this command still works without an exception.

Any ideas?

Exception android.opengl.GLException: invalid operation
  at android.opengl.GLErrorWrapper.checkError (GLErrorWrapper.java:62)
  at android.opengl.GLErrorWrapper.glDrawTexiOES (GLErrorWrapper.java:894)
  at com.example.WallpaperServiceGL$EngineGl$RendererMy.onDrawFrame (WallpaperServiceGL.java:270)
  at android.opengl.GLSurfaceView$GLThread.guardedRun (GLSurfaceView.java:1581)
  at android.opengl.GLSurfaceView$GLThread.run (GLSurfaceView.java:1280)



backtrace:
  #00  pc 0x00000000007080f4  /vendor/lib64/egl/mt6789/libGLES_mali.so
  #01  pc 0x000000000076a924  /vendor/lib64/egl/mt6789/libGLES_mali.so
  #02  pc 0x0000000000707be0  /vendor/lib64/egl/mt6789/libGLES_mali.so
  #03  pc 0x000000000076bbb4  /vendor/lib64/egl/mt6789/libGLES_mali.so
  #04  pc 0x000000000038c3c0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+112)
  #05  pc 0x00000000007815f4  /apex/com.android.art/lib64/libart.so (nterp_helper+11140)
  #06  pc 0x000000000045e8ac  /system/framework/framework.jar (android.opengl.GLErrorWrapper.glDrawTexiOES+20)
  #07  pc 0x00000000020059f8  /memfd:jit-cache (t1.e0.onDrawFrame+1640)
  #08  pc 0x0000000000780890  /apex/com.android.art/lib64/libart.so (nterp_helper+7712)
  #09  pc 0x000000000046955e  /system/framework/framework.jar (android.opengl.GLSurfaceView$GLThread.guardedRun+2034)
  #10  pc 0x000000000077f9c4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #11  pc 0x000000000046a00a  /system/framework/framework.jar (android.opengl.GLSurfaceView$GLThread.run+122)
  #12  pc 0x000000000036db74  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
  #13  pc 0x0000000000359324  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132)
  #14  pc 0x0000000000944438  /apex/com.android.art/lib64/libart.so (art::detail::ShortyTraits<(char)86>::Type art::ArtMethod::InvokeInstance<(char)86>(art::Thread*, art::ObjPtr<art::mirror::Object>, art::detail::ShortyTraits<>::Type...)+60)
  #15  pc 0x00000000006209f4  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344)
  #16  pc 0x00000000006204a4  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8)
  #17  pc 0x00000000000fbacc  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204)
  #18  pc 0x000000000008e670  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

Source: View source

PressRex profile image
by PressRex

Subscribe to New Posts

Lorem ultrices malesuada sapien amet pulvinar quis. Feugiat etiam ullamcorper pharetra vitae nibh enim vel.

Success! Now Check Your Email

To complete Subscribe, click the confirmation link in your inbox. If it doesn’t arrive within 3 minutes, check your spam folder.

Ok, Thanks

Read More