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 |
| God of War®: Ghost of Sparta |
v1.18.1 |
2026-07-23 |
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;
}
|
| Grand Theft Auto: Chinatown Wars |
v1.20.4 |
2026-07-20 |
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-00rel0 [Revision 96995].
01f31551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 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))
// 01f31551:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:1 t:0 MatUp:3 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 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 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;
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 *= inv |
| Grand Theft Auto: Chinatown Wars |
v1.20.4 |
2026-07-20 |
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-00rel0 [Revision 96995].
01f39951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 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))
// 01f39951:00000b21 HWX T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:2 MatUp:3 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 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 vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
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;
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 += |
| Dragon Ball Z Shin Budokai |
v1.20.4 |
2026-07-20 |
Error in shader compilation: info: ERROR: 0:1: '�' : Unknown char
INTERNAL ERROR: no main() function!
ERROR: 1 compilation errors. No code generated.
40000000:00000002 THR Flat
��v |
| NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.20.4 |
2026-07-20 |
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].
01f01111:00050b21 HWX T N LM TexProjUV UVMtx 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:00050b21 HWX T N LM TexProjUV UVMtx 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 mediump mat4 u_texmtx;
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 * ld |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.9.4 |
2026-07-19 |
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].
01f35515:00000b19 HWX C T N LM Tex Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:1 3: c:1 t:1 MatUp:3
#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 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 vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
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;
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 * 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 - 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 * 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_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_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * color0.rgb) * m |
| UFC® Undisputed™ 2010 |
v1.6.1 |
2026-07-19 |
Error in shader compilation: info: 0:456: S0001: No matching overload for function 'mix' found
postshader
// 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 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o
#define Cpower 0.3 //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 0 //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 1 //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.1 //Default: 1.0 //negative will look like inverted colors shader
#define brightness 2.5 //Default: 1.0
#define contrast 1.23 //Default: 1.0 //negative will be... well negative;p
#define red 0.55 //Default: 1.0
#define green 0.55 //Default: 1.0
#define blue 0.55 //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 1 //simple gamma function after reading http://filmicgames.com/archives/299
#define correction 1.2 //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 SLcolor 1.8 //Default: 2.8 /brightens screen to compensate for dark lines
#define SLpower 0.4 //Default: 0.4 /less/more = darker/b |
| NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) Flat FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// %00060000:00000000 Tex(TFuncMod) Flat 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™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) Flat AlphaTest > FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// %00060000:00000000 Tex(TFuncMod) Flat 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™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) LM FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// %00060000:00000000 Tex(TFuncMod) LM 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™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) AlphaTest > FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// %00060000:00000000 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™ MOST WANTED 5-1-0 |
v1.20.4-546-g7cf5468221 |
2026-07-16 |
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'
00060000:00000000 Tex(TFuncMod) FragDepthClamp
#version 100
// Driver: Mali-400 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 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: Tenkaichi Tag Team |
v1.20.4-210-g0b5ecfa8a4 |
2026-07-16 |
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'
40182982:00000422 Tex TexAlpha Double ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 40182982:00000422 Tex TexAlpha Double ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod FragDepthClamp
uniform sampler2D tex;
uniform vec3 u_blendFixB;
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;
vec4 v = p * t;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
v.rgb = v.rgb * splat3(v.a * 2.0);
gl_FragColor = v;
highp float projZ = v_zw.x / v_zw.y;
gl_FragDepth = clamp(projZ, 0.0, 65536.0) / 65536.0;
}
|
| Dragon Ball Z: Tenkaichi Tag Team |
v1.20.4-210-g0b5ecfa8a4 |
2026-07-16 |
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'
40181d83:0000d422 Tex TexAlpha Double ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 40181d83:0000d422 Tex TexAlpha Double ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) DISCARD;
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, 65536.0) / 65536.0;
}
|
| Dragon Ball Z: Tenkaichi Tag Team |
v1.20.4-210-g0b5ecfa8a4 |
2026-07-16 |
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'
40181d83:00000422 Tex TexAlpha Double ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod FragDepthClamp
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 40181d83:00000422 Tex TexAlpha Double ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.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, 65536.0) / 65536.0;
}
|
| eFootball 2024 By RH12 Official |
v1.20.4-535-gf0baf3ade7 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) Fog FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| eFootball 2024 By RH12 Official |
v1.20.4-535-gf0baf3ade7 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp
#version 100
// Driver: Mali-400 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 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 2024 By RH12 Official |
v1.20.4-535-gf0baf3ade7 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) Fog AlphaTest0 > FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| eFootball 2024 By RH12 Official |
v1.20.4-535-gf0baf3ade7 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| eFootball Chelito 19 * BETEGAMING |
v1.20.4-506-g0335e5e6a9 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) Fog AlphaTest0 > FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| eFootball Chelito 19 * BETEGAMING |
v1.20.4-506-g0335e5e6a9 |
2026-07-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'
00060000:00000000 Tex(TFuncMod) Fog FragDepthClamp
#version 100
// Driver: Mali-400 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 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;
}
|
| eFootball Mx CL26 |
v1.20.3 |
2026-07-12 |
Error in shader compilation: info: 0:1: L0009: Missing main() function for shader
01000000:80000b00 HWX T N Light: LightUberShader
#version 320 es
// Driver: Mali-T820 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b00 HWX T N Light: LightUberShader
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
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 mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
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;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
out 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;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
uint comp; uint type; float attenuation;
if ((u_lightControl & 0x1u) != 0x0u) {
comp = (u_lightControl >> 0x04u) & 0x3u;
type = (u_lightControl >> 0x06u) & 0x3u;
toLight = u_lightpos0;
if (type != 0x0u) {
toLight -= worldpos;
distance = length(toLight);
toLight /= distance;
attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
if (type == 0x01u) {
lightScale = attenuation;
} else {
angle = dot(u_lightdir0, toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
}
} else {
lightScale = 1.0;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0;
}
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (comp == 0x1u && ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
}
if ((u_lightControl & 0x2u) != 0x0u) {
comp = (u_lightCo |
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-07-11 |
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].
01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 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))
// 01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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) * |
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-07-11 |
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].
01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 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))
// 01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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 * diff |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.20.4-479-gd82b795f6a |
2026-07-11 |
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: Tenkaichi Tag Team |
v1.20.4-479-gd82b795f6a |
2026-07-11 |
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'
40182982:00000002 Tex ReplaceBlend_2A:6_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))
// 40182982:00000002 Tex ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod FragDepthClamp
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
uniform vec3 u_blendFixB;
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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0);
v.rgb = v.rgb * splat3(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;
}
|
| Dragon Ball Z: Tenkaichi Tag Team |
v1.20.4-479-gd82b795f6a |
2026-07-11 |
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:0000d002 Tex ReplaceBlend_3A:6_B:7_Eq:0 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))
// 40181d83:0000d002 Tex ReplaceBlend_3A:6_B:7_Eq:0 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0);
float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) DISCARD;
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;
}
|
| Dragon Ball Z: Tenkaichi Tag Team |
v1.20.4-479-gd82b795f6a |
2026-07-11 |
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'
40181d83:00000002 Tex ReplaceBlend_3A:6_B:7_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))
// 40181d83:00000002 Tex ReplaceBlend_3A:6_B:7_Eq:0 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.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;
}
|
| MediEvil Resurrection |
v1.20.4 |
2026-07-10 |
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].
01f74400:00000b28 HWX C T N Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 3: c:0 t:1 MatUp:7 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f74400:00000b28 HWX C T N Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:1 3: c:0 t:1 MatUp:7 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 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 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 = color0.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;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
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_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) {
if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
if (u_cullRangeMin. |
| eFootball Play-C |
v1.20.4 |
2026-07-08 |
Error in shader compilation: info: 0:119: L0001: Expected token '(', found 'end of file'
0:119: L0001: Expected token '}', found 'end of file'
01000000:80000b20 HWX T N Light: LightUberShader Cull
#version 320 es
// Driver: Mali-T820 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b20 HWX T N Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
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 mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
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;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
out 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;
float distance;
float distSq;
float invDist;
lowp float lightScale;
mediump float ldot;
lowp float angle;
uint comp; uint type; float attenuation;
if ((u_lightControl & 0x1u) != 0x0u) {
comp = (u_lightControl >> 0x04u) & 0x3u;
type = (u_lightControl >> 0x06u) & 0x3u;
toLight = u_lightpos0;
if (type != 0x0u) {
toLight -= worldpos;
float distSq = dot(toLight, toLight);
float invDist = inversesqrt(distSq);
distance = distSq * invDist;
toLight *= invDist;
attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distSq)), 0.0, 1.0);
if (type == 0x01u) {
lightScale = attenuation;
} else {
angle = dot(u_lightdir0, toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
}
} else {
lightScale = 1.0;
}
ldot = dot(toLight, worldnormal);
if (comp == 0x2u) {
ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0;
}
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (comp == 0x1u && 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 {
|
| Disney•Pixar Cars 2 |
v1.20.4 |
2026-07-07 |
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 r4p0-00rel0 [Revision 96995].
01f25595:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:2
#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))
// 01f25595:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:2 2: c:1 t:1 3: c:1 t:1 MatUp:2
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 mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 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 = 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;
lowp float angle;
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);
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 * lightScale;
}
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);
angle = dot(u_lightdir1, toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distSq)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(max(angle, 0.0), u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0. |
| Disney•Pixar Cars 2 |
v1.20.4 |
2026-07-07 |
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 r4p0-00rel0 [Revision 96995].
01f05955:00000b01 HWX T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1
#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))
// 01f05955:00000b01 HWX T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:2 3: c:1 t:1
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 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 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 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_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;
float distance;
float distSq;
float invDist;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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);
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 * lightScale;
}
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);
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_ |
| eFootball Chelito 19 |
v1.6.3 |
2026-07-07 |
Error in shader compilation: info:
40000000:00000012 THR Tex Flat
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
flat out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| eFootball Chelito 19 |
v1.6.3 |
2026-07-07 |
Error in shader compilation: info:
00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
fragColor0 = v;
}
|
| eFootball Chelito 19 |
v1.6.3 |
2026-07-07 |
Error in shader compilation: info:
00000000:0000001a THR C Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| eFootball Chelito 19 |
v1.6.3 |
2026-07-07 |
Error in shader compilation: info:
00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
flat in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
fragColor0 = v;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-476-g56c694d88b |
2026-07-07 |
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;
}
|
| God of War®: Ghost of Sparta |
v1.20.4 |
2026-07-05 |
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:00000f29 HWX C T N LM RevN 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:00000f29 HWX C T N LM RevN 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); |
| God of War®: Ghost of Sparta |
v1.20.4 |
2026-07-05 |
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-476-g56c694d88b |
2026-07-07 |
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-450 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-476-g56c694d88b |
2026-07-07 |
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;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-476-g56c694d88b |
2026-07-07 |
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-450 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.20.4-476-g56c694d88b |
2026-07-07 |
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-450 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-476-g56c694d88b |
2026-07-07 |
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;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-476-g56c694d88b |
2026-07-07 |
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-450 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-476-g56c694d88b |
2026-07-07 |
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;
}
|
| GHOST IN THE SHELL STAND ALONE COMPLEX |
v1.20.4-466-g35e21dead8 |
2026-07-05 |
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;
}
|
| GHOST IN THE SHELL STAND ALONE COMPLEX |
v1.20.4-466-g35e21dead8 |
2026-07-05 |
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;
}
|
| GHOST IN THE SHELL STAND ALONE COMPLEX |
v1.20.4-466-g35e21dead8 |
2026-07-05 |
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;
}
|
| GHOST IN THE SHELL STAND ALONE COMPLEX |
v1.20.4-466-g35e21dead8 |
2026-07-05 |
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;
}
|
| GHOST IN THE SHELL STAND ALONE COMPLEX |
v1.20.4-466-g35e21dead8 |
2026-07-05 |
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-00rel0 [Revision 96995].
01f35555:00000b28 HWX C T N Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 3: c:1 t:1 MatUp:3 RangeCull
#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))
// 01f35555:00000b28 HWX C T N Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 3: c:1 t:1 MatUp:3 RangeCull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform vec4 u_xywh;
uniform float u_NaN;
uniform vec2 u_minZmaxZ;
uniform vec2 u_rasterOffset;
uniform vec3 u_vpScale;
uniform vec3 u_vpOffset;
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 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 vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
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() {
bool zClipped = false;
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);
if (outPos.z < -outPos.w) {
zClipped = true;
}
float recip = 1.0 / outPos.w;
outPos.xyz = (outPos.xyz * u_vpScale.xyz) * recip + u_vpOffset.xyz;
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 - 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);
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 * lightScale;
}
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);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
vec3 halfVec = toLight + vec3(0.0, 0.0, 1.0);
float halfIn |
| eFootball RB - V. |
v1.10.3-1192-g575ae376a |
2026-07-04 |
Error in shader compilation: info: 0:1: L0001: Unknown character '�'(160)
0:1: L0001: Unknown character '�'(160)
0:1: L0001: Unknown character '�'(186)
0:1: L0001: Unknown character '�'(158)
0:1: L0001: Unknown character '`'(96)
0:1: L0001: Unknown character '�'(186)
0:1: L0001: Unknown character '�'(158)
0:3: P0001: #endif directive found outside if-section
0:1: L0001: Typename expected, found '}'
thin3d
�}��`~��L_ES
precision mediump float;
#endif
#ifdef GL_ES
precision lowp float;
#endif
#if __VERSION__ >= 130
#define varying in
#define gl_FragColor fragColor0
out vec4 fragColor0;
#endif
varying vec4 oColor0;
void main() { gl_FragColor = oColor0; }
|
| SOCOM: Fireteam Bravo 3 |
v1.20.4 |
2026-07-04 |
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].
01f35155:00000b08 HWX C T N Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:1 t:1 MatUp:3
#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))
// 01f35155:00000b08 HWX C T N Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:1 t:1 MatUp:3
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 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 = 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 - 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);
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 * lightScale;
}
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);
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 |
| Pro Evolution Soccer 6 |
v1.20.4-457-g2cc8142f9a |
2026-07-02 |
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-400 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;
}
|
| WWE'12 |
v1.20.4 |
2026-07-02 |
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;
}
|
| eFootball Chelito 19 |
v1.11 |
2026-06-30 |
Error in shader compilation: info: 0:1: L0001: Typename expected, found 'P89'
0:1: L0001: Unknown character '�'(137)
0:1: L0001: Unknown character '�'(128)
0:1: L0001: Expected identifier, found '89'
thin3d
P89��89�L_ES
precision mediump float;
#endif
#ifdef GL_ES
precision lowp float;
#endif
#if __VERSION__ >= 130
#define varying in
#define gl_FragColor fragColor0
out vec4 fragColor0;
#endif
varying vec4 oColor0;
void main() { gl_FragColor = oColor0; }
|
| Tom Clancy's Splinter Cell® Essentials |
v1.11.3 |
2026-06-29 |
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].
01f18444:00000b14 HWX T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:2 MatUp:1
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 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 mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
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_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalize(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);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.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);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.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);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir3) == 0.0 ? 0.0 : dot(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) {
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef3.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef3.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
gl_Position = outPos;
}
|
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-06-28 |
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].
01730115:00000f29 HWX C T N LM RevN Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:0 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))
// 01730115:00000f29 HWX C T N LM RevN Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:0 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 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 lowp vec3 u_lightspecular2;
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 - 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);
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
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) * half |
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-06-28 |
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].
01730115:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:0 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))
// 01730115:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:0 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 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 lowp vec3 u_lightspecular2;
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 - 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);
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
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 |
| eFootball PC - V. |
v1.19.3 |
2026-06-27 |
Error in shader compilation: info: 0:9: L0001: Expected token ';', found 'end of file'
00184000:0001d402 Tex TexAlpha Flat TFuncMod AlphaTest0 >
#version 100
// Driver: Mali-400 MP - GLSL 100
#define DISCARD discard
precision lowp float;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00184000:0001d402 Tex TexAlpha Flat TFuncMod AlphaTest0 >
uniform sampler2D tex;
uniform sampler2D testtex;
varying lowp vec4 v_color0;
varying mediump float v_fogdepth;
varying mediump vec3 v_texcoord;
void main() {
vec4 t = texture2D(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) DISCARD;
gl_FragColor = v;
}
|
| eFootball WORLD CUP 2026 ST PATCH |
v1.20.4 |
2026-06-25 |
Error in shader compilation: info: Compile failed.
ERROR: 0:1:0 '�' is an invalid character.
ERROR: 0:1:1 '�' is an invalid character.
ERROR: 0:1:2 '' is an invalid character.
ERROR: 0:1:3 '$' is an invalid character.
ERROR: 0:1: 'u' : syntax error
WARNING: 0:1:0 '�' is an invalid character.
WARNING: 0:1:1 '�' is an invalid character.
WARNING: 0:1:2 '' is an invalid character.
WARNING: 0:1:3 '$' is an invalid character.
4 compilation warnings.
5 compilation errors. No code generated.
thin3d
ȸ$u |
| eFootball WORLD CUP 2026 ST PATCH |
v1.20.4 |
2026-06-25 |
Error in shader compilation: info: Compile failed.
ERROR: 0:1:0 '' is an invalid character.
ERROR: Unexpected end of source found
WARNING: 0:1:0 '' is an invalid character.
1 compilation warnings.
2 compilation errors. No code generated.
thin3d
|
| eFootball WORLD CUP 2026 ST PATCH |
v1.20.4 |
2026-06-25 |
Error in shader compilation: info: Compile failed.
ERROR: Unexpected end of source found
1 compilation errors. No code generated.
thin3d
|
| Crash™ Tag Team Racing |
v1.20.4 |
2026-06-25 |
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 |
| God of War®: Ghost of Sparta |
v1.20.4 |
2026-06-23 |
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].
01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 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))
// 01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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 * diff |
| God of War®: Ghost of Sparta |
v1.20.4 |
2026-06-23 |
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].
01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 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))
// 01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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) * |
| CARS |
v1.13.1-249-gf80dd088b |
2026-06-23 |
Error in shader compilation: info: 0:20: S0001: Type mismatch, cannot convert from 'ivec2' to 'vec2'
00000000:0001d062 Tex TexAlpha Depal TFuncMod AlphaTest0 >
#version 320 es
#extension GL_EXT_shader_framebuffer_fetch : require
// Driver: Mali-G57 MC2 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
precision highp int;
uniform sampler2D tex;
uniform sampler2D testtex;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 uv = v_texcoord.xy;
vec2 uv_round;
vec2 tsize = textureSize(tex, 0).xy;
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShift = (u_depal_mask_shift_off_fmt >> 8) & 0xFFU;
uint depalOffset = ((u_depal_mask_shift_off_fmt >> 16) & 0xFFU) << 4;
uint depalFmt = (u_depal_mask_shift_off_fmt >> 24) & 0x3U;
uvec4 col; uint index0; uint index1; uint index2; uint index3;
switch (int(depalFmt)) {
case 0:
col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0);
index0 = (col.b << 11) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0);
index1 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0);
index2 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0);
index3 = (col.b << 11) | (col.g << 5) | (col.r);
}
break;
case 1:
col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index0 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index1 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index2 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index3 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
}
break;
case 2:
col = uvec4(t.rgba * 15.99);
index0 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 15.99);
index1 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t2.rgba * 15.99);
index2 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t3.rgba * 15.99);
index3 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
}
break;
case 3:
col = uvec4(t.rgba * 255.99);
index0 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 255.99);
index1 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t2.rgba * 255.99);
index2 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t3.rgba * 255.99);
index3 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
}
break;
};
index0 = ((index0 >> depalShift) & depalMask) | depalOffset;
t = texelFetch(pal, ivec2(index0, 0), 0);
if (bilinear && !(index0 == index1 && index1 == index2 && index2 == index3)) {
index1 = ((index1 >> depalShift) & depalMask) | depalOffset;
index2 = ((index2 >> depalShift) & depalMask) | depalOffset;
index3 = ((index3 >> depalShift) & depalMask) | depalOffset;
t1 = texelFetch(pal, ivec2(index1, 0), 0);
t2 = texelFetch(pal, ivec2(index2, 0), 0);
t3 = texelFetch(pal, ivec2(index3, 0), 0);
t = mix(t, t1, fraction.x);
|
| CARS |
v1.13.1-249-gf80dd088b |
2026-07-06 |
Error in shader compilation: info: 0:19: S0001: Type mismatch, cannot convert from 'ivec2' to 'vec2'
00000000:00000062 Tex TexAlpha Depal TFuncMod
#version 320 es
#extension GL_EXT_shader_framebuffer_fetch : require
// Driver: Mali-G57 MC2 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
precision highp int;
uniform sampler2D tex;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 uv = v_texcoord.xy;
vec2 uv_round;
vec2 tsize = textureSize(tex, 0).xy;
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShift = (u_depal_mask_shift_off_fmt >> 8) & 0xFFU;
uint depalOffset = ((u_depal_mask_shift_off_fmt >> 16) & 0xFFU) << 4;
uint depalFmt = (u_depal_mask_shift_off_fmt >> 24) & 0x3U;
uvec4 col; uint index0; uint index1; uint index2; uint index3;
switch (int(depalFmt)) {
case 0:
col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0);
index0 = (col.b << 11) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0);
index1 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0);
index2 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0);
index3 = (col.b << 11) | (col.g << 5) | (col.r);
}
break;
case 1:
col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index0 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index1 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index2 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index3 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
}
break;
case 2:
col = uvec4(t.rgba * 15.99);
index0 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 15.99);
index1 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t2.rgba * 15.99);
index2 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t3.rgba * 15.99);
index3 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
}
break;
case 3:
col = uvec4(t.rgba * 255.99);
index0 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 255.99);
index1 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t2.rgba * 255.99);
index2 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t3.rgba * 255.99);
index3 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
}
break;
};
index0 = ((index0 >> depalShift) & depalMask) | depalOffset;
t = texelFetch(pal, ivec2(index0, 0), 0);
if (bilinear && !(index0 == index1 && index1 == index2 && index2 == index3)) {
index1 = ((index1 >> depalShift) & depalMask) | depalOffset;
index2 = ((index2 >> depalShift) & depalMask) | depalOffset;
index3 = ((index3 >> depalShift) & depalMask) | depalOffset;
t1 = texelFetch(pal, ivec2(index1, 0), 0);
t2 = texelFetch(pal, ivec2(index2, 0), 0);
t3 = texelFetch(pal, ivec2(index3, 0), 0);
t = mix(t, t1, fraction.x);
t2 = mix(t2, t3, fraction.x);
t = |
| CARS |
v1.13.1-249-gf80dd088b |
2026-07-06 |
Error in shader compilation: info: 0:20: S0001: Type mismatch, cannot convert from 'ivec2' to 'vec2'
00000000:0000d062 Tex TexAlpha Depal TFuncMod AlphaTest >
#version 320 es
#extension GL_EXT_shader_framebuffer_fetch : require
// Driver: Mali-G57 MC2 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
precision highp int;
uniform sampler2D tex;
uniform sampler2D testtex;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 uv = v_texcoord.xy;
vec2 uv_round;
vec2 tsize = textureSize(tex, 0).xy;
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShift = (u_depal_mask_shift_off_fmt >> 8) & 0xFFU;
uint depalOffset = ((u_depal_mask_shift_off_fmt >> 16) & 0xFFU) << 4;
uint depalFmt = (u_depal_mask_shift_off_fmt >> 24) & 0x3U;
uvec4 col; uint index0; uint index1; uint index2; uint index3;
switch (int(depalFmt)) {
case 0:
col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0);
index0 = (col.b << 11) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0);
index1 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0);
index2 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0);
index3 = (col.b << 11) | (col.g << 5) | (col.r);
}
break;
case 1:
col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index0 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index1 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index2 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index3 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
}
break;
case 2:
col = uvec4(t.rgba * 15.99);
index0 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 15.99);
index1 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t2.rgba * 15.99);
index2 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t3.rgba * 15.99);
index3 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
}
break;
case 3:
col = uvec4(t.rgba * 255.99);
index0 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 255.99);
index1 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t2.rgba * 255.99);
index2 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t3.rgba * 255.99);
index3 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
}
break;
};
index0 = ((index0 >> depalShift) & depalMask) | depalOffset;
t = texelFetch(pal, ivec2(index0, 0), 0);
if (bilinear && !(index0 == index1 && index1 == index2 && index2 == index3)) {
index1 = ((index1 >> depalShift) & depalMask) | depalOffset;
index2 = ((index2 >> depalShift) & depalMask) | depalOffset;
index3 = ((index3 >> depalShift) & depalMask) | depalOffset;
t1 = texelFetch(pal, ivec2(index1, 0), 0);
t2 = texelFetch(pal, ivec2(index2, 0), 0);
t3 = texelFetch(pal, ivec2(index3, 0), 0);
t = mix(t, t1, fraction.x);
|
| eFootball Lop - Play |
v1.20.4 |
2026-06-22 |
Error in shader compilation: info: 0:36: L0001: Expected literal or '(', got 'end of file'
0:36: L0001: Expected token '}', found 'end of file'
40000000:00000920 HWX T Flat Cull
#version 320 es
// Driver: Mali-T820 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 40000000:00000920 HWX T Flat Cull
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
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;
flat out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
out 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(0.0, 0.0, 1.0, 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;
v_color0 = u_matambientalpha;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) {
if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
if (u_cullRangeMin.w <= 0.0) {
if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
gl_Position = outPos;
}
|
| From Russia With Love™ |
v1.20.4 |
2026-06-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 r5p0-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-400 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 * ambientColor |
| TEKKEN 6 |
v1.20.4 |
2026-06-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 r8p0-01rel0 [Revision 96995].
03700111:41000b21 HWX T N LM Bones:5 Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 WScale 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))
// 03700111:41000b21 HWX T N LM Bones:5 Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 WScale 1 Cull
attribute mediump vec4 w1;
attribute mediump float w2;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
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 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 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() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3) + mul(w2, u_bone4);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.9921875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.9921875;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(skinnednormal, 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, |
| Shinobido: Tales of the Ninja |
v1.9.4 |
2026-06-21 |
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 r4p1-01rel0 [Revision 96995].
01f74444:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:7
#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 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 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);
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);
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 * color0.rgb) * max(ldot, 0.0);
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 * color0.rgb) * max(ldot, 0.0);
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_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 + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = vec3(0.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = vec4(u_cullRangeMax.w);
}
}
gl_Position = outPos;
}
|
| Spider-Man(TM): Web of Shadows – Amazing Allies Edition |
v1.20.4 |
2026-06-21 |
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-00rel0 [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 * ambientCol |
| Call of Duty : Roads to Victory™ |
v1.8.0-624-ge72359413 |
2026-07-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 r5p1-01rel0 [Revision 96995].
01f14444:00050b54 HWX T N Fog Tex TexProjUV UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1
#version 100
precision highp float;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
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_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
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 * u_matambientalpha + vec4(u_matemissive, 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);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.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);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.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);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = (u_texmtx * vec4(texcoord.xy, 0.0, 1.0)).xyz * vec3(u_uvscaleoffset.xy, 1.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = vec4(u_cullRangeMax.w);
}
}
gl_Position = outPos;
}
|
| EA-Sports FC Lop-Play |
v1.19.3 |
2026-06-14 |
Error in shader compilation: info: (unknown reason)
00000000:0000000a THR C
#version 320 es
// Driver: Mali-T820 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:0000000a THR C
in vec4 position;
in highp float fog;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
uniform lowp float u_rotation;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
out mediump float v_fogdepth;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
v_fogdepth = fog;
vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0));
gl_Position = outPos;
}
|
| POOL HALL PRO |
v1.19.3 |
2026-06-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 r10p0-00dev0 [Revision 96995].
01f34440:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 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))
// 01f34440:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
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 = u_matambientalpha;
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;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * ambientColor.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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = mul(length(normal) == 0.0 ? vec4(0.0, 0.0, 0.0, 1.0) : vec4(normalize(normal), 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || proj |
| SOCOM: Fireteam Bravo 3 |
v1.13.2 |
2026-06-13 |
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 r4p1-01rel0 [Revision 96995].
01710551:00000b2d HWX C T N LM Fog Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 MatUp:1 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute vec3 position;
attribute mediump vec3 normal;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
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 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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos |
| eFootball Patch VanDeYann v2 |
v1.20.4 |
2026-06-12 |
Error in shader compilation: info: 0:1: L0001: Typename expected, found '�h�'
0:1: L0001: Expected identifier, found '}'
10184000:0001d002 Tex Flat FragUber TFuncMod AlphaTest0 >
�h�} |
| EFOOTBALL 26 PPSSPP BY SPARTAN |
v1.19.3 |
2026-06-12 |
Error in shader compilation: info: (unknown reason)
40000000:00000020 Flat Cull
|
| SOCOM: Fireteam Bravo 3 |
v1.13.2 |
2026-06-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 r4p1-01rel0 [Revision 96995].
01f35155:00000b2d HWX C T N LM Fog Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:1 t:1 MatUp:3 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute vec3 position;
attribute mediump vec3 normal;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
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 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 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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 - 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 * 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 * lightScale;
}
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * 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_lightspecular2 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
toLight = u |
| SOCOM: Fireteam Bravo 3 |
v1.13.2 |
2026-06-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 r4p1-01rel0 [Revision 96995].
01f35515:00000b39 HWX C T N LM Tex Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:1 3: c:1 t:1 MatUp:3 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 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 vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
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;
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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 - 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 * 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_lightspecular2 * u_matspecular.rgb * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * l |
| Spider-Man(TM): Web of Shadows – Amazing Allies Edition |
v1.9.4 |
2026-06-11 |
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 r4p0-00rel0 [Revision 96995].
01f10044:00050b5c HWX C T N Fog Tex TexProjUV UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:0 3: c:0 t:0 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 mediump mat4 u_texmtx;
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 lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
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_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
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);
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);
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);
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
toLight = u_lightpos3;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = (u_texmtx * vec4(texcoord.xy, 0.0, 1.0)).xyz * vec3(u_uvscaleoffset.xy, 1.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = vec4(u_cullRangeMax.w);
}
}
gl_Position = outPos;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:0000d402 Tex TexAlpha 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:0000d402 Tex TexAlpha TFuncMod AlphaTest > FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:00209c22 Tex Fog LM TexAlpha Double 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:00209c22 Tex Fog LM TexAlpha Double TFuncMod AlphaTest < TestDiscardToZero FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t + s;
v.rgb = clamp(v.rgb * 2.0, 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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:0020fc22 Tex Fog LM TexAlpha Double 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:0020fc22 Tex Fog LM TexAlpha Double TFuncMod AlphaTest >= FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t + s;
v.rgb = clamp(v.rgb * 2.0, 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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:0020d402 Tex Fog TexAlpha 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:0020d402 Tex Fog TexAlpha TFuncMod AlphaTest > TestDiscardToZero FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:0020d402 Tex Fog TexAlpha 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:0020d402 Tex Fog TexAlpha TFuncMod AlphaTest > FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:0020dc22 Tex Fog LM TexAlpha Double 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:0020dc22 Tex Fog LM TexAlpha Double TFuncMod AlphaTest > FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t + s;
v.rgb = clamp(v.rgb * 2.0, 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, 65536.0) / 65536.0;
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4-295-g9489a7176a |
2026-06-10 |
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:00200c22 Tex Fog LM TexAlpha Double 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:00200c22 Tex Fog LM TexAlpha Double TFuncMod FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t + s;
v.rgb = clamp(v.rgb * 2.0, 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, 65536.0) / 65536.0;
}
|
| PES 2014 |
v1.20.4 |
2026-06-08 |
Error in shader compilation: info: 0:1: L0009: Missing main() function for shader
00000000:00000001 Clear
|
| Marvel™ Ultimate Alliance |
v1.20.4 |
2026-06-08 |
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].
01f04440:00090b21 HWX T N LM TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 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))
// 01f04440:00090b21 HWX T N LM TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
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 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);
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);
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);
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 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = splat3(0.0);
v_texcoord = mul(length(normal) == 0.0 ? vec4(0.0, 0.0, 0.0, 1.0) : vec4(normalize(normal), 1.0), |
| eFootball Chelito 19 |
v1.20.4-210-g0b5ecfa8a4 |
2026-06-07 |
Error in shader compilation: info: 0:18: P0004: High precision not supported, instead compiling high precision as medium precision
0:19: L0002: Undeclared variable 'gl_FragDepth'
40180000:00000402 Tex TexAlpha 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:00000402 Tex TexAlpha TFuncMod FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
gl_FragColor = v;
highp float projZ = v_zw.x / v_zw.y;
gl_FragDepth = clamp(projZ, 0.0, 65536.0) / 65536.0;
}
|
| eFootball Chelito 19 |
v1.20.4-210-g0b5ecfa8a4 |
2026-06-07 |
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:00200402 Tex Fog TexAlpha 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:00200402 Tex Fog TexAlpha TFuncMod FragDepthClamp
uniform sampler2D tex;
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;
vec4 v = p * t;
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, 65536.0) / 65536.0;
}
|
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-06-07 |
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 r9p0-01rel0 [Revision 96995].
01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34101:00000f29 HWX C T N LM RevN Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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 * diff |
| God of War™: Ghost of Sparta |
v1.20.4 |
2026-06-07 |
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 r9p0-01rel0 [Revision 96995].
01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34101:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:0 t:0 2: c:1 t:0 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 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 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;
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 + diffuse);
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) * |
| Grand Theft Auto: Vice City Stories |
v1.20.4 |
2026-06-06 |
Error in shader compilation: info: Fragment shader failed to compile with the following errors:
ERROR: 0:18: error(#61) Required extension is not found. Extension "GL_EXT_blend_func_extended" is not supported
ERROR: error(#273) 1 compilation errors. No code generated
10180000:02200002 Tex Fog FragUber StenToAlphaDual StenUniform TFuncMod
#version 310 es
#extension GL_EXT_blend_func_extended : require
// Driver: Adreno (TM) 640 - GLSL 310
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 10180000:02200002 Tex Fog FragUber StenToAlphaDual StenUniform TFuncMod
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
uniform float u_stencilReplaceValue;
in lowp vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
out vec4 fragColor1;
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 = 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);
fragColor0 = vec4(v.rgb, u_stencilReplaceValue);
fragColor1 = vec4(0.0, 0.0, 0.0, v.a);
}
|
| Grand Theft Auto: Vice City Stories |
v1.20.4 |
2026-06-06 |
Error in shader compilation: info: Fragment shader failed to compile with the following errors:
ERROR: 0:18: error(#61) Required extension is not found. Extension "GL_EXT_blend_func_extended" is not supported
ERROR: error(#273) 1 compilation errors. No code generated
10180000:0220d002 Tex Fog FragUber StenToAlphaDual StenUniform TFuncMod AlphaTest >
#version 310 es
#extension GL_EXT_blend_func_extended : require
// Driver: Adreno (TM) 640 - GLSL 310
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 10180000:0220d002 Tex Fog FragUber StenToAlphaDual StenUniform TFuncMod AlphaTest >
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
uniform float u_stencilReplaceValue;
in lowp vec4 v_color0;
uniform vec3 u_fogcolor;
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;
out vec4 fragColor1;
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 = 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 ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD;
fragColor0 = vec4(v.rgb, u_stencilReplaceValue);
fragColor1 = vec4(0.0, 0.0, 0.0, v.a);
}
|
| Grand Theft Auto®: Chinatown Wars™ |
v1.20.4 |
2026-06-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-00rel0 [Revision 96995].
01f31111: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: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))
// 01f31111: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:3 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 |