LibGDX Shader funciona bien en el escritorio, pero no funciona en absoluto en el dispositivo Android

Hice un sombreador muy básico que funciona perfectamente en Desktop, pero cuando lo bash con un AVD, el sprite afectado por el sombreador no se dibuja. Lo he intentado con WQVGA API 16 y Nexus S API 23. También he intentado poner esto en mis sombreadores, pero luego no funciona en el escritorio ni en Android:

#ifdef GL_ES "#version 300" precision mediump float; #else "#version 130" #endif 

Mi vertex shader es simplemente un "passthrough":

 #version 130 attribute vec4 a_color; attribute vec3 a_position; attribute vec2 a_texCoord0; uniform mat4 u_projTrans; varying vec4 v_color; varying vec2 v_texCoord0; void main() { v_color = a_color; v_texCoord0 = a_texCoord0; gl_Position = u_projTrans * vec4(a_position, 1.0); } 

My Fragment Shader:

 #version 130 precision mediump float; varying vec4 v_color; varying vec2 v_texCoord0; uniform sampler2D u_sampler2D; uniform vec4 color1; uniform vec4 color2; void main() { vec4 actualColor = v_color * texture2D( u_sampler2D, v_texCoord0 ); if(actualColor.g > actualColor.r) actualColor = color1; else if(actualColor.r > actualColor.g) actualColor = color2; gl_FragColor = actualColor; } 

Editar : Cambié gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); en mi sombreador de fragments para probar si un rectángulo rojo aparecería, pero falló. El rectángulo rojo es la versión de escritorio y en la parte superior es Android.

El pez no aparece

Si ayuda, también obtengo este error en mi console Android:

 libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile libpng warning: iCCP: known incorrect sRGB profile emulator: Listening for console connections on port: 5554 emulator: Serial number of this emulator (for ADB): emulator-5554 emulator: emulator window was out of view and was recentenetworking distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1628 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1628 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1628 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1628 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetAttribLocation:988 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetAttribLocation:988 error 0x501 distrib/android-emugl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetAttribLocation:988 error 0x501