'GL_EXT_shader_texture_lod' is not supported

Hi,

i’ve been running into this issue for a while now. And i have no idea how to resolve it. I’ve got a couple of assets on the asset store supposed to be supported on mobile, but on some devices they work on others they don’t. And i have no idea which shader is to blame, because logcat doesn’t say.

I’ve tryed with openGL es 2 and openGL es 3. Here is something more strange, the first time i build&run (if i uninstall it before) the app under ES 3, it runs it. After i close it and open it again, it crashes.

Edit: It crashed on LG G2 (On LG G3 under open GL ES 2 works fine)

Below is the whole logcat report.

E/Unity   ( 3376): -------- Hidden/FXAA II

E/Unity   ( 3376):

E/Unity   ( 3376):

E/Unity   ( 3376): (Filename:  Line: 141)

E/Unity   ( 3376):

E/Unity   ( 3376): -------- failed compiling fragment shader:

E/Unity   ( 3376):

E/Unity   ( 3376):

E/Unity   ( 3376): (Filename:  Line: 142)

E/Unity   ( 3376):

D/Unity   ( 3376): #extension GL_EXT_shader_texture_lod : enable

D/Unity   ( 3376): precision highp float;

D/Unity   ( 3376): uniform highp vec4 _MainTex_TexelSize;

D/Unity   ( 3376): uniform sampler2D _MainTex;

D/Unity   ( 3376): varying highp vec4 xlv_TEXCOORD0;

D/Unity   ( 3376): void main ()

D/Unity   ( 3376): {

D/Unity   ( 3376):   highp vec3 tmpvar_1;

D/Unity   ( 3376):   highp vec3 rgbA_2;

D/Unity   ( 3376):   highp vec2 dir_3;

D/Unity   ( 3376):   highp vec3 rgbM_4;

D/Unity   ( 3376):   highp vec3 rgbSE_5;

D/Unity   ( 3376):   highp vec3 rgbSW_6;

D/Unity   ( 3376):   highp vec3 rgbNE_7;

D/Unity   ( 3376):   highp vec3 rgbNW_8;

D/Unity   ( 3376):   lowp vec3 tmpvar_9;

D/Unity   ( 3376):   tmpvar_9 = texture2DLodEXT (_MainTex, xlv_TEXCOORD0.zw, 0.0).xyz;

D/Unity   ( 3376):   rgbNW_8 = tmpvar_9;

D/Unity   ( 3376):   highp vec4 tmpvar_10;

D/Unity   ( 3376):   tmpvar_10.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_10.xy = (xlv_TEXCOORD0.zw + (vec2(1.0, 0.0) * _MainTex_TexelSize.xy));

D/Unity   ( 3376):   lowp vec3 tmpvar_11;

D/Unity   ( 3376):   tmpvar_11 = texture2DLodEXT (_MainTex, tmpvar_10.xy, 0.0).xyz;

D/Unity   ( 3376):   rgbNE_7 = tmpvar_11;

D/Unity   ( 3376):   highp vec4 tmpvar_12;

D/Unity   ( 3376):   tmpvar_12.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_12.xy = (xlv_TEXCOORD0.zw + (vec2(0.0, 1.0) * _MainTex_TexelSize.xy));

D/Unity   ( 3376):   lowp vec3 tmpvar_13;

D/Unity   ( 3376):   tmpvar_13 = texture2DLodEXT (_MainTex, tmpvar_12.xy, 0.0).xyz;

D/Unity   ( 3376):   rgbSW_6 = tmpvar_13;

D/Unity   ( 3376):   highp vec4 tmpvar_14;

D/Unity   ( 3376):   tmpvar_14.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_14.xy = (xlv_TEXCOORD0.zw + _MainTex_TexelSize.xy);

D/Unity   ( 3376):   lowp vec3 tmpvar_15;

D/Unity   ( 3376):   tmpvar_15 = texture2DLodEXT (_MainTex, tmpvar_14.xy, 0.0).xyz;

D/Unity   ( 3376):   rgbSE_5 = tmpvar_15;

D/Unity   ( 3376):   lowp vec3 tmpvar_16;

D/Unity   ( 3376):   tmpvar_16 = texture2DLodEXT (_MainTex, xlv_TEXCOORD0.xy, 0.0).xyz;

D/Unity   ( 3376):   rgbM_4 = tmpvar_16;

D/Unity   ( 3376):   highp float tmpvar_17;

D/Unity   ( 3376):   tmpvar_17 = dot (rgbNW_8, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   highp float tmpvar_18;

D/Unity   ( 3376):   tmpvar_18 = dot (rgbNE_7, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   highp float tmpvar_19;

D/Unity   ( 3376):   tmpvar_19 = dot (rgbSW_6, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   highp float tmpvar_20;

D/Unity   ( 3376):   tmpvar_20 = dot (rgbSE_5, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   highp float tmpvar_21;

D/Unity   ( 3376):   tmpvar_21 = dot (rgbM_4, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   highp float tmpvar_22;

D/Unity   ( 3376):   tmpvar_22 = min (tmpvar_21, min (min (tmpvar_17, tmpvar_18), min (tmpvar_19, tmpvar_20)));

D/Unity   ( 3376):   highp float tmpvar_23;

D/Unity   ( 3376):   tmpvar_23 = max (tmpvar_21, max (max (tmpvar_17, tmpvar_18), max (tmpvar_19, tmpvar_20)));

D/Unity   ( 3376):   dir_3.x = ((tmpvar_19 + tmpvar_20) - (tmpvar_17 + tmpvar_18));

D/Unity   ( 3376):   dir_3.y = ((tmpvar_17 + tmpvar_19) - (tmpvar_18 + tmpvar_20));

D/Unity   ( 3376):   highp vec2 tmpvar_24;

D/Unity   ( 3376):   tmpvar_24 = (min (vec2(8.0, 8.0), max (vec2(-8.0, -8.0), (dir_3 * (1.0/((min (abs(dir_3.x), abs(dir_3.y)) + max (((((tmpvar_17 + tmpvar_18) + tmpvar_19) + tmpvar_20) * 0.03125), 0.0078125))))))) * _MainTex_TexelSize.xy);

D/Unity   ( 3376):   dir_3 = tmpvar_24;

D/Unity   ( 3376):   highp vec4 tmpvar_25;

D/Unity   ( 3376):   tmpvar_25.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_25.xy = (xlv_TEXCOORD0.xy + (tmpvar_24 * -0.166667));

D/Unity   ( 3376):   highp vec4 tmpvar_26;

D/Unity   ( 3376):   tmpvar_26.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_26.xy = (xlv_TEXCOORD0.xy + (tmpvar_24 * 0.166667));

D/Unity   ( 3376):   lowp vec3 tmpvar_27;

D/Unity   ( 3376):   tmpvar_27 = (0.5 * (texture2DLodEXT (_MainTex, tmpvar_25.xy, 0.0).xyz + texture2DLodEXT (_MainTex, tmpvar_26.xy, 0.0).xyz));

D/Unity   ( 3376):   rgbA_2 = tmpvar_27;

D/Unity   ( 3376):   highp vec4 tmpvar_28;

D/Unity   ( 3376):   tmpvar_28.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_28.xy = (xlv_TEXCOORD0.xy + (tmpvar_24 * -0.5));

D/Unity   ( 3376):   lowp vec4 tmpvar_29;

D/Unity   ( 3376):   tmpvar_29 = texture2DLodEXT (_MainTex, tmpvar_28.xy, 0.0);

D/Unity   ( 3376):   highp vec4 tmpvar_30;

D/Unity   ( 3376):   tmpvar_30.zw = vec2(0.0, 0.0);

D/Unity   ( 3376):   tmpvar_30.xy = (xlv_TEXCOORD0.xy + (tmpvar_24 * 0.5));

D/Unity   ( 3376):   lowp vec4 tmpvar_31;

D/Unity   ( 3376):   tmpvar_31 = texture2DLodEXT (_MainTex, tmpvar_30.xy, 0.0);

D/Unity   ( 3376):   highp vec3 tmpvar_32;

D/Unity   ( 3376):   tmpvar_32 = ((rgbA_2 * 0.5) + (0.25 * (tmpvar_29.xyz + tmpvar_31.xyz)));

D/Unity   ( 3376):   highp float tmpvar_33;

D/Unity   ( 3376):   tmpvar_33 = dot (tmpvar_32, vec3(0.299, 0.587, 0.114));

D/Unity   ( 3376):   if (((tmpvar_33 < tmpvar_22) || (tmpvar_33 > tmpvar_23))) {

D/Unity   ( 3376):     tmpvar_1 = rgbA_2;

D/Unity   ( 3376):   } else {

D/Unity   ( 3376):     tmpvar_1 = tmpvar_32;

D/Unity   ( 3376):   };

D/Unity   ( 3376):   highp vec4 tmpvar_34;

D/Unity   ( 3376):   tmpvar_34.w = 0.0;

D/Unity   ( 3376):   tmpvar_34.xyz = tmpvar_1;

D/Unity   ( 3376):   gl_FragData[0] = tmpvar_34;

D/Unity   ( 3376): }

E/Unity   ( 3376): -------- GLSL error: Fragment shader compilation failed.

E/Unity   ( 3376): WARNING: 0:6: extension 'GL_EXT_shader_texture_lod' is not supported

E/Unity   ( 3376): ERROR: 0:22: 'texture2DLodEXT' : no matching overloaded function found

E/Unity   ( 3376): ERROR: 0:22: 'xyz' :  field selection requires structure, vector, or matrix on left hand side

E/Unity   ( 3376): ERROR: 0:22: 'assign' :  cannot convert from 'const float' to '3-component vector of float'

E/Unity   ( 3376): ERROR: 0:28: 'texture2DLodEXT' : no matching overloaded function found

E/Unity   ( 3376): ERROR: 0:28: 'xyz' :  field selection requires structure, vector, or matrix on left hand side

E/Unity   ( 3376): ERROR: 0:28: 'assign' :  cannot convert from 'const float' to '3-component vector of float'

E/Unity   ( 3376): ERROR: 0:34: 'texture2DLodEXT' : no matching overloaded function found

E/Unity   ( 3376): ERROR: 0:34: 'xyz' :  field selection requires structure, vector, or matrix on left hand side

E/Unity   ( 3376): ERROR: 0:34: 'assign' :  cannot convert from 'const float' to '3-component vector of float'

E/Unity   ( 3376): ERROR: 0:40: 'texture2DLodEXT' : no matching overloaded function found

E/Unity   ( 3376): ERROR: 0:40: 'xyz' :  field selection requires s

Ok, i was changing shaders left and right and in meanwhile i updated my android from 4.2.2 to 4.42 and now it appears to be working.
What “solved” it i’m still unsure