Recent logs - Error in shader compilation: info: %s %s %s

To see your stuff show here, enable Compatibility Server Reports in PPSSPP.

Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.

Game title Version Latest Report Message
4 x 4 JAM v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
4 x 4 JAM v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
4 x 4 JAM v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 50184000:00000002 Tex LM Flat TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50184000:00000002 Tex LM Flat TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 40180000:0021d002 Tex TFuncMod AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0021d002 Tex TFuncMod AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40194000:0000d002 Tex Flat TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40194000:0000d002 Tex Flat TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50180000:00200002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00200002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ ProStreet v1.20.4-479-gd82b795f6a 2026-10-23 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
World Tour Soccer v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50180000:0000d002 Tex LM TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0000d002 Tex LM TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 50180000:00000002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00000002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:16: P0004: High precision not supported, instead compiling high precision as medium precision 0:17: L0002: Undeclared variable 'gl_FragDepth' 50180000:00000000 LM FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00000000 LM FragDepthClamp varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Need For Speed™ Underground Rivals v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Resistance: Retribution™ v1.20.4 2026-10-22 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01710951:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 MatUp:1 #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01710951:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 MatUp:1 attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; float distSq; float invDist; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal);
VALHALLAKNIGHTS v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
eFootball CESAR - PATCH v1.20.4 2026-10-21 Error in shader compilation: info: 0:1: L0009: Missing main() function for shader 10184000:00000000 Flat FragUber #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Driver: Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000000 Flat FragUber flat in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 40180000:0021d002 Tex TFuncMod AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0021d002 Tex TFuncMod AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:15: L0002: Undeclared variable 'gl_FragDepth' 40184000:00000000 Flat FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40184000:00000000 Flat FragDepthClamp varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40184000:00200000 Flat FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40184000:00200000 Flat FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40184000:00000002 Tex Flat TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40184000:00000002 Tex Flat TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40184000:00200002 Tex Flat TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40184000:00200002 Tex Flat TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200000 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200000 FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:15: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000000 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000000 FragDepthClamp varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-21 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD v1.20.4-479-gd82b795f6a 2026-10-22 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Resistance: Retribution™ v1.20.4 2026-10-22 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01710551:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:1 #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01710551:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:1 attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; float distSq; float invDist; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_l
Ford Bold Moves Street Racing v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Ford Bold Moves Street Racing v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d000 AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d000 AlphaTest > FragDepthClamp uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Ford Bold Moves Street Racing v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0001d002 Tex TFuncMod AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Ford Bold Moves Street Racing v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:15: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000000 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000000 FragDepthClamp varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Ford Bold Moves Street Racing v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Street Cricket Champions 2 v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50180000:00200002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00200002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Toy Story 3 v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Toy Story 3 v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Toy Story 3 v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Gran Turismo® v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:29: P0004: High precision not supported, instead compiling high precision as medium precision 0:30: L0002: Undeclared variable 'gl_FragDepth' 40191d83:0020f002 Tex ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest >= TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40191d83:0020f002 Tex ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest >= TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Gran Turismo® v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Gran Turismo® v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:15: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000000 FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000000 FragDepthClamp varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Gran Turismo® v1.20.4-479-gd82b795f6a 2026-10-20 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 40181d83:00200002 Tex ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40181d83:00200002 Tex ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
TEKKEN 6 v1.20.4 2026-10-18 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r8p0-00dev0 [Revision 96995]. 01f01111:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f01111:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular2 * specularColor * ldot ; } lightSum0.rgb += (u_
TEKKEN 6 v1.20.4 2026-10-18 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r8p0-00dev0 [Revision 96995]. 01f01111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f01111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular2 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient2 * ambientColor.rgb
RA-PATCH INDONESIA v1.20.4-664-g978324fea8 2026-10-24 Error in shader compilation: info: 0:13: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
RA-PATCH INDONESIA v1.20.4-664-g978324fea8 2026-10-16 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
RA-PATCH INDONESIA v1.20.4-664-g978324fea8 2026-10-24 Error in shader compilation: info: 0:15: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) Fog AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) Fog AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v.rgb = mix(u_fogcolor, v.rgb, fogCoef); if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
RA-PATCH INDONESIA v1.20.4-664-g978324fea8 2026-10-24 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) Fog FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) Fog FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v.rgb = mix(u_fogcolor, v.rgb, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
God of War: Ghost of Sparta Demo v1.20.4 2026-10-14 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r8p0-00dev0 [Revision 96995]. 01f34401:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:0 t:1 3: c:0 t:1 MatUp:3 Cull #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f34401:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:0 t:1 3: c:0 t:1 MatUp:3 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = color0.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; float distSq; float invDist; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse); toLight = u_lightpos2 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50180000:00200002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00200002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40190000:0020d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40190000:0020d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:29: P0004: High precision not supported, instead compiling high precision as medium precision 0:30: L0002: Undeclared variable 'gl_FragDepth' 50180000:0020d002 Tex LM TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0020d002 Tex LM TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40190000:0000d000 AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40190000:0000d000 AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:19: P0004: High precision not supported, instead compiling high precision as medium precision 0:20: L0002: Undeclared variable 'gl_FragDepth' 50180000:00200000 LM FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00200000 LM FragDepthClamp varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:22: P0004: High precision not supported, instead compiling high precision as medium precision 0:23: L0002: Undeclared variable 'gl_FragDepth' 50180000:0020d000 LM AlphaTest > FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0020d000 LM AlphaTest > FragDepthClamp uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50182a82:00000002 Tex LM ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50182a82:00000002 Tex LM ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 50180000:00000002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00000002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:29: P0004: High precision not supported, instead compiling high precision as medium precision 0:30: L0002: Undeclared variable 'gl_FragDepth' 50180000:0020f002 Tex LM TFuncMod AlphaTest >= FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0020f002 Tex LM TFuncMod AlphaTest >= FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-14 Error in shader compilation: info: 0:29: P0004: High precision not supported, instead compiling high precision as medium precision 0:30: L0002: Undeclared variable 'gl_FragDepth' 50190000:00209002 Tex LM TFuncMod AlphaTest < TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-470 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50190000:00209002 Tex LM TFuncMod AlphaTest < TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.18.1 2026-10-14 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: 0:2: error(#61) Required extension isn't found, extension 'GL_ARB_shader_stencil_export' is not supported ERROR: error(#273) 1 compilation errors. No code generated stencil_fs #version 410 #extension GL_ARB_shader_stencil_export : require // Driver: AMD Radeon(TM) HD 6480G - GLSL 410 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float roundAndScaleTo255f(in float x) { return floor(x * 255.99); } in highp vec2 v_texcoord; // TEXCOORD0 uniform float stencilValue; out vec4 fragColor0; void main() { vec4 index = texture(tex, v_texcoord.xy); vec4 outColor = index.aaaa; gl_FragStencilRefARB = int(roundAndScaleTo255f(index.a)); fragColor0 = outColor; }
ASPHALT : URBAN GT 2 v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 50180000:0000000e Tex LM TFuncRepl FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0000000e Tex LM TFuncRepl FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 r = t; r.a = mix(r.a, p.a, u_texNoAlphaMul.x); vec4 v = r + s; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
ASPHALT : URBAN GT 2 v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0000d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
ASPHALT : URBAN GT 2 v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:23: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 50180000:00000002 Tex LM TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:00000002 Tex LM TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
ASPHALT : URBAN GT 2 v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
ASPHALT : URBAN GT 2 v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50180000:0000d002 Tex LM TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50180000:0000d002 Tex LM TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Grand Theft Auto: Vice City Stories v1.20.4-479-gd82b795f6a 2026-10-13 Error in shader compilation: info: 0:26: P0004: High precision not supported, instead compiling high precision as medium precision 0:27: L0002: Undeclared variable 'gl_FragDepth' 50182a82:00000002 Tex LM ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 50182a82:00000002 Tex LM ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
The Sims™ 2 v1.20.4 2026-10-12 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r8p0-01rel0 [Revision 96995]. 01f14444:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull #version 100 // Driver: Mali-450 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f14444:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = color0; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; float distance; float distSq; float invDist; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distSq = dot(toLight, toLight); invDist = inversesqrt(distSq); distance = distSq * invDist; toLight *= invDist; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distSq)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * ambientCo
Midnight Club 3: DUB Edition v1.20.4 2026-10-12 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: 0:2: error(#61) Required extension isn't found, extension 'GL_ARB_shader_stencil_export' is not supported ERROR: error(#273) 1 compilation errors. No code generated stencil_fs #version 330 #extension GL_ARB_shader_stencil_export : require // Driver: ATI Radeon HD 4200 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float roundAndScaleTo255f(in float x) { return floor(x * 255.99); } in highp vec2 v_texcoord; // TEXCOORD0 uniform float stencilValue; out vec4 fragColor0; void main() { vec4 index = texture(tex, v_texcoord.xy); vec4 outColor = index.aaaa; gl_FragStencilRefARB = int(roundAndScaleTo255f(index.a)); fragColor0 = outColor; }
"eFootball 2027 By ATGXGAMING PRO v1.18.1 2026-10-12 Error in shader compilation: info: 0:5: P0007: Extension directive must occur before any non-preprocessor tokens 0:18: L0002: No matching function for call to 'fwidth' 0:19: L0002: Undeclared variable 'boxSize' 0:20: L0002: Undeclared variable 'boxSize' 0:21: L0002: Undeclared variable 'txOffset' postshader #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES #extension GL_OES_standard_derivatives : enable precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; varying vec2 v_position; uniform vec2 u_texelDelta; // (1.0 / bufferWidth, 1.0 / bufferHeight) uniform vec2 u_pixelDelta; // (1.0 / targetWidth, 1.0 / targetHeight) // Returns pixel sharpened to nearest pixel boundary. vec2 sharpSample(vec4 texSize, vec2 coord) { vec2 boxSize = clamp(fwidth(coord) * texSize.zw, 1e-5, 1.0); coord = coord * texSize.zw - 0.5 * boxSize; vec2 txOffset = smoothstep(vec2(1.0) - boxSize, vec2(1.0), fract(coord)); return (floor(coord) + 0.5 + txOffset) * texSize.xy; } void main() { vec2 sharpPos = sharpSample(vec4(u_texelDelta, 1.0 / u_texelDelta), v_position); vec4 color = texture2D(sampler0, sharpPos); gl_FragColor = color; }
Midnight Club 3: Dub Edition v1.16 2026-10-10 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: 0:2: error(#61) Required extension isn't found, extension 'GL_ARB_shader_stencil_export' is not supported ERROR: error(#273) 1 compilation errors. No code generated stencil_fs #version 330 #extension GL_ARB_shader_stencil_export : require // Driver: ATI Radeon HD 4200 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float roundAndScaleTo255f(in float x) { return floor(x * 255.99); } in highp vec2 v_texcoord; // TEXCOORD0 uniform float stencilValue; out vec4 fragColor0; void main() { vec4 index = texture(tex, v_texcoord.xy); vec4 outColor = index.aaaa; gl_FragStencilRefARB = int(roundAndScaleTo255f(index.a)); fragColor0 = outColor; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200000 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200000 FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:21200000 StenToAlpha StenDecr8 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:21200000 StenToAlpha StenDecr8 FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = vec4(v.rgb, 0.003922); highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:19200000 StenToAlpha StenIncr8 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:19200000 StenToAlpha StenIncr8 FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = vec4(v.rgb, 0.003922); highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:28: P0004: High precision not supported, instead compiling high precision as medium precision 0:29: L0002: Undeclared variable 'gl_FragDepth' 40180000:0120f002 Tex StenToAlpha StenUniform TFuncMod AlphaTest >= FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0120f002 Tex StenToAlpha StenUniform TFuncMod AlphaTest >= FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:25: P0004: High precision not supported, instead compiling high precision as medium precision 0:26: L0002: Undeclared variable 'gl_FragDepth' 40180000:01200002 Tex StenToAlpha StenUniform TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:01200002 Tex StenToAlpha StenUniform TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
SUPER MONKEY BALL ADVENTURE v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Rapala Trophies v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:17: P0004: High precision not supported, instead compiling high precision as medium precision 0:18: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200000 FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200000 FragDepthClamp varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying vec2 v_zw; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Rapala Trophies v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Rapala Trophies v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:006000e2 Tex TexProj TClampST TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:006000e2 Tex TexProj TClampST TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec2 fixedcoord = vec2((clamp((v_texcoord.x / v_texcoord.z), u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp((v_texcoord.y / v_texcoord.z), u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Rapala Trophies v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020f002 Tex TFuncMod AlphaTest >= FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Rapala Trophies v1.20.4-479-gd82b795f6a 2026-10-08 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Dante's Inferno™ v1.10.3 2026-10-06 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r6p0-01rel0 [Revision 96995]. 01f15551:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:1 MatUp:1 #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_light
Dante's Inferno™ v1.10.3 2026-10-06 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r6p0-01rel0 [Revision 96995]. 01f15155:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:1 t:1 MatUp:1 #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse); toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_light
Grand Theft Auto: Vice City Stories v1.19.3 2026-10-05 Error in shader compilation: info: 0:5: P0007: Extension directive must occur before any non-preprocessor tokens 0:18: L0002: No matching function for call to 'fwidth' 0:19: L0002: Undeclared variable 'boxSize' 0:20: L0002: Undeclared variable 'boxSize' 0:21: L0002: Undeclared variable 'txOffset' postshader #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES #extension GL_OES_standard_derivatives : enable precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; varying vec2 v_position; uniform vec2 u_texelDelta; // (1.0 / bufferWidth, 1.0 / bufferHeight) uniform vec2 u_pixelDelta; // (1.0 / targetWidth, 1.0 / targetHeight) // Returns pixel sharpened to nearest pixel boundary. vec2 sharpSample(vec4 texSize, vec2 coord) { vec2 boxSize = clamp(fwidth(coord) * texSize.zw, 1e-5, 1.0); coord = coord * texSize.zw - 0.5 * boxSize; vec2 txOffset = smoothstep(vec2(1.0) - boxSize, vec2(1.0), fract(coord)); return (floor(coord) + 0.5 + txOffset) * texSize.xy; } void main() { vec2 sharpPos = sharpSample(vec4(u_texelDelta, 1.0 / u_texelDelta), v_position); vec4 color = texture2D(sampler0, sharpPos); gl_FragColor = color; }
TEKKEN 6 v1.20.4 2026-10-03 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r10p0-00rel0 [Revision 96995]. 01f21111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:2 Cull #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f21111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 MatUp:2 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular2 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient2
TEKKEN 6 v1.20.4 2026-10-03 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r10p0-00rel0 [Revision 96995]. 01f01111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull #version 100 // Driver: Mali-400 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01f01111:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 Cull attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular1 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { if (u_matspecular.a > 0.0) { vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0); float halfInvLen = inversesqrt(dot(halfVec, halfVec)); ldot = pow(max(dot(halfVec, worldnormal) * halfInvLen, 0.0), u_matspecular.a); } else { ldot = 1.0; } if (ldot > 0.0) lightSum1 += u_lightspecular2 * specularColor * ldot ; } lightSum0.rgb += (u_lightambient2 * ambientColor.r
eFootball Lop - Play v1.20.4 2026-10-03 Error in shader compilation: info: 0:1: L0009: Missing main() function for shader 01000000:80000b20 HWX T N Light: LightUberShader Cull
EAFC 26 By Komo Valeri v1.16.5 2026-10-03 Error in shader compilation: info: 0:387: L0002: No matching function for call to 'mul' 0:391: L0001: Expected literal or '(', got 'else' postshader #ifdef GL_ES precision mediump float; #endif // PPSSPP: Grabbed from Processing and slightly modified. // FXAA shader, GLSL code adapted from: // http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA // Whitepaper describing the technique: // http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf //====================================================================================================================================================================== //Extra options: #define FXAA 0 //ON:1/OFF:0 /default FXAA, info above //there's no extra config for fxaa here since from what I checked this simple fxaa version offers only more blur or less aa;c, you can check it yourself below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering, don't use with either FXAA nor sharpen filters #define Gsmoothing 3.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ #define MIKU 0 //Hatsune<3 this is an optional filter for all those pale anime faces which get white with bloom/colored:P tested on Miku in white dress //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define samples 4 //Default: 4 /higher = more glow, worser performance #define quality 0.25 //Default: 0.25 /lower = smaller glow, better quality #define factor 0.002 //Default: 0.002 /just an extra tweak for the bloom slightly higher values might look better in some cases, but too much can cause artifacts #define Bpower 0.5 //Default: 0.5 /amount of bloom mixed //================ #define COLORED 0 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.5 //Default: 0.5 /amount of effect mixed //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 7.5 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 1 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ #define SHADEBOOST 0 //ON:1/OFF:0 /color correction from GSdx/pcsx2 plugin, initially taken from http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21057 #define saturation 1.0 //Default: 1.0 //negative will look like inverted colors shader #define brightness 1.0 //Default: 1.0 #define contrast 1.0 //Default: 1.0 //negative will be... well negative;p #define red 1.0 //Default: 1.0 #define green 1.0 //Default: 1.0 #define blue 1.0 //Default: 1.0 //Shadeboost presets: //Shadeboost must be activated, presets override options above int SEPIA = 0; //Moody coolors:) int GRAYSCALE = 0; //Just for lols? int NEGATIVE = 0; //As above int PSPCOLORS = 0; //Makes the colors as on older PSP screens(colder) //All presets are simple switch ON:1/OFF:0, //================ #define GAMMA 0 //simple gamma function after reading http://filmicgames.com/archives/299 #define correction 1.0 //Default: 1.0 //================ #define SCANLINES 0 //Ugly lines which never existed on psp, yet are popular among some people(I had to, sorry:P) #define SLsize 1 //Default: 1 /basically sets how wide each line is, from 1 to looks_weird_when_too_high #define SL
God of War®: Ghost of Sparta v1.9.3 2026-10-02 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r10p0-00dev0 [Revision 96995]. 07f34015:41400b1d HWX C T N LM Fog Tex Bones:6 Light: 0: c:1 t:1 1: c:1 t:0 2: c:0 t:0 3: c:0 t:1 MatUp:3 WScale 3 #version 100 precision highp float; attribute mediump vec4 w1; attribute mediump vec2 w2; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform mat4 u_bone4; uniform mat4 u_bone5; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3 + w2.x * u_bone4 + w2.y * u_bone5; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz ; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz ; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; toLight = u_lightpos0 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse0 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a == 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * color0.rgb) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse); toLight = u_lightpos3 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse3 * color0.rgb) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient3 * color0.rgb + d
eFootball Chelito 19 v1.20.4 2026-10-01 Error in shader compilation: info: (unknown reason) �{���{��� 
TEKKEN 6 v1.19.3-631-ga996645764 2026-09-30 Error in shader compilation: info: 0:1: L0009: Missing main() function for shader 10180000:0900d002 Tex FragUber StenToAlpha Sten1 TFuncMod AlphaTest > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0900d002 Tex FragUber StenToAlpha Sten1 TFuncMod AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); } out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD; fragColor0 = vec4(v.rgb, 1.0); }
Dead to Rights: Reckoning v1.20.4-479-gd82b795f6a 2026-09-29 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40190000:0000d002 Tex TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Dead to Rights: Reckoning v1.20.4-479-gd82b795f6a 2026-09-29 Error in shader compilation: info: 0:21: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 40180000:00000002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00000002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Dead to Rights: Reckoning v1.20.4-479-gd82b795f6a 2026-09-29 Error in shader compilation: info: 0:24: P0004: High precision not supported, instead compiling high precision as medium precision 0:25: L0002: Undeclared variable 'gl_FragDepth' 40180000:00200002 Tex TFuncMod FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:00200002 Tex TFuncMod FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
Dead to Rights: Reckoning v1.20.4-479-gd82b795f6a 2026-09-29 Error in shader compilation: info: 0:27: P0004: High precision not supported, instead compiling high precision as medium precision 0:28: L0002: Undeclared variable 'gl_FragDepth' 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40180000:0020d002 Tex TFuncMod AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }