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

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

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

Game title Version Latest Report Message
The Sims™ 2 v1.20.4 2026-08-11 Error in shader compilation: info: (unknown reason) 01000000:80000b20 HWX T N Light: LightUberShader Cull #version 310 es // Driver: Adreno (TM) 510 - GLSL 310 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 { ldot = 1.0; } lightSum1 += u_lightspecular0 * specularColor * ldo
eFootball PC - V. v1.20.4 2026-08-11 Error in shader compilation: info: 0:1: L0009: Missing main() function for shader 00000000:00000928 HWX C T Cull
METAL GEAR SOLID PEACE WALKER v1.20.4 2026-08-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]. 01f31111:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 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:00000b29 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 3: c:1 t:0 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 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 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; 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
TEKKEN 6 v1.20.4 2026-08-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]. 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
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) varying highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); oColor0 = Color0; oTexCoord0 = TexCoord0; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0) * oColor0; col.rgb = splat3(col.a); col.rgb *= oColor0.a; gl_FragColor = col; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0) * oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 void main() { vec4 col = oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) varying highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
eFootball Chelito 19 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: Compile failed. ERROR: 0:1: Syntax error, version 110 not supported 1 compilation errors. No code generated. thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version 00040000:00000000 SWX RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:00000000 SWX RangeCull attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform vec4 u_xywh; uniform float u_NaN; uniform vec2 u_minZmaxZ; uniform vec2 u_rasterOffset; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { bool zClipped = false; v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = position; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version draw2d_copy_color #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 outColor = texture2D(tex, v_texcoord.xy); gl_FragColor = outColor; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000002 Tex(TFuncMod) #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000002 Tex(TFuncMod) uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; 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; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version draw2d_vs #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) attribute vec2 a_position; attribute vec2 a_texcoord0; varying highp vec2 v_texcoord; // TEXCOORD0 (0) void main() { v_texcoord = a_texcoord0; gl_Position = vec4(a_position, 0.0, 1.0); }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version 00000000:00000001 THR SWX #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00000000:00000001 THR SWX attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform vec4 u_xywh; uniform float u_NaN; uniform vec2 u_minZmaxZ; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { bool zClipped = false; v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = position; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version reinterpret #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float packColor(vec4 val) { return floor(val.r * 31.99) + floor(val.g * 63.99) * 32.0 + floor(val.b * 31.99) * 2048.0; } vec4 unpackColor(float color) { vec4 outColor = vec4(mod(floor(color), 32.0), mod(floor(color / 32.0), 32.0), mod(floor(color / 1024.0), 32.0), 0.0); outColor.rgb *= 1.0 / 31.0; outColor.a = floor(color / 32768.0); return outColor; } uniform vec2 texSize; uniform float scaleFactor; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 val = texture2D(tex, v_texcoord.xy); vec4 outColor = unpackColor(packColor(val)); gl_FragColor = outColor; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version reinterpret #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float packColor(vec4 val) { float color = floor(val.r * 31.99) + floor(val.g * 31.99) * 32.0 + floor(val.b * 31.99) * 1024.0; if (val.a >= 0.5) color += 32768.0; return color; } vec4 unpackColor(float color) { vec4 outColor = vec4(mod(floor(color), 32.0), mod(floor(color / 32.0), 64.0), mod(floor(color / 2048.0), 32.0), 0.0); outColor.rb *= 1.0 / 31.0; outColor.g *= 1.0 / 63.0; outColor.a = 1.0; return outColor; } uniform vec2 texSize; uniform float scaleFactor; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 val = texture2D(tex, v_texcoord.xy); vec4 outColor = unpackColor(packColor(val)); gl_FragColor = outColor; }
TEKKEN 6 v1.20.4-777-g16a38b090a 2026-08-02 Error in shader compilation: info: ERROR: Invalid #version 00000000:00000001 Clear #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00000000:00000001 Clear varying lowp vec4 v_color0; varying mediump float v_fogdepth; void main() { vec4 v = v_color0; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version draw2d_copy_r16_to_depth #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform vec2 texSize; uniform float scaleFactor; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 outColor = vec4(0.0, 0.0, 0.0, 0.0); float depthValue = texture2D(tex, v_texcoord.xy).x; gl_FragDepth = depthValue; gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000102 Tex(TFuncMod) Fog #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000102 Tex(TFuncMod) Fog 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; 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; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 0005c000:0100033e HWX N T C LM MatUp:3 Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %0005c000:0100033e HWX N T C LM MatUp:3 Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 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 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 lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; 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 lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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); vec3 toLight; lowp vec3 diffuse; 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; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0180033e HWX N T C LM MatUp:3 FSDepthClamp Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0180033e HWX N T C LM MatUp:3 FSDepthClamp Light: 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 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 lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; varying highp vec2 v_zw; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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; v_zw = vec2(outPos.z * outPos.w, outPos.w); vec4 ambientColor = color0; vec3 diffuseColor = color0.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = (u_minZmaxZ.x + u_minZmaxZ.y) * (0.5 / 65536.0) * outPos.w; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 0005c000:0100013e HWX N T C LM MatUp:1 Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %0005c000:0100013e HWX N T C LM MatUp:1 Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 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 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 lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; 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; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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 = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 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); 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); lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0100033e HWX N T C LM MatUp:3 Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0100033e HWX N T C LM MatUp:3 Light: 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 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 lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0100033a HWX T C LM MatUp:3 Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0100033a HWX T C LM MatUp:3 Light: RangeCull attribute vec3 position; 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 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 lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } void main() { bool zClipped = false; 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); 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); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0100013e HWX N T C LM MatUp:1 Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0100013e HWX N T C LM MatUp:1 Light: 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 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; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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 = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:00000002 HWX RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:00000002 HWX RangeCull attribute vec3 position; 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 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) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } void main() { bool zClipped = false; 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); 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 = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = splat3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version reinterpret #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float packColor(vec4 val) { return floor(val.r * 31.99) + floor(val.g * 63.99) * 32.0 + floor(val.b * 31.99) * 2048.0; } vec4 unpackColor(float colorLeft, float colorRight) { vec4 outColor = vec4(mod(floor(colorLeft), 256.0), mod(floor(colorLeft / 256.0), 256.0), mod(floor(colorRight), 256.0), mod(floor(colorRight / 256.0), 256.0)); outColor *= 1.0 / 255.0; return outColor; } uniform vec2 texSize; uniform float scaleFactor; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 valLeft = texture2D(tex, v_texcoord.xy + vec2(-0.25 / texSize.x, 0.0)); vec4 valRight = texture2D(tex, v_texcoord.xy + vec2(0.25 / texSize.x, 0.0)); vec4 outColor = unpackColor(packColor(valLeft), packColor(valRight)); gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0180013e HWX N T C LM MatUp:1 FSDepthClamp Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0180013e HWX N T C LM MatUp:1 FSDepthClamp Light: 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 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; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; varying highp vec2 v_zw; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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; v_zw = vec2(outPos.z * outPos.w, outPos.w); vec4 ambientColor = color0; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = splat3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = (u_minZmaxZ.x + u_minZmaxZ.y) * (0.5 / 65536.0) * outPos.w; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000482 Tex(TFuncMod) LM FragDepthClamp #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000482 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 highp 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: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0180031e HWX N T C MatUp:3 FSDepthClamp Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0180031e HWX N T C MatUp:3 FSDepthClamp Light: 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 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; varying highp vec2 v_zw; vec3 normalizeOr001(vec3 v) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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; v_zw = vec2(outPos.z * outPos.w, outPos.w); vec4 ambientColor = color0; vec3 diffuseColor = color0.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); mediump float ldot; 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; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = (u_minZmaxZ.x + u_minZmaxZ.y) * (0.5 / 65536.0) * outPos.w; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:01000182 Tex(TFuncMod) LM Fog StenToAlpha StenUniform #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:01000182 Tex(TFuncMod) LM Fog StenToAlpha StenUniform uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; 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.rgb = mix(u_fogcolor, v.rgb, fogCoef); gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000082 Tex(TFuncMod) LM #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000082 Tex(TFuncMod) LM 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; 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; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00062a82:00e00002 Tex(TFuncMod) TClampST ReplaceBlend_2 A:10 _B:10 _Eq:0 #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00062a82:00e00002 Tex(TFuncMod) TClampST ReplaceBlend_2 A:10 _B:10 _Eq:0 uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:0100d182 Tex(TFuncMod) LM Fog StenToAlpha StenUniform AlphaTest > #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:0100d182 Tex(TFuncMod) LM Fog StenToAlpha StenUniform AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; varying lowp vec3 v_color1; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; 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.rgb = mix(u_fogcolor, v.rgb, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000582 Tex(TFuncMod) LM Fog FragDepthClamp #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000582 Tex(TFuncMod) LM Fog 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 highp 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.rgb = mix(u_fogcolor, v.rgb, fogCoef); gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00e05002 Tex(TFuncMod) TClampST AlphaTest == #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00e05002 Tex(TFuncMod) TClampST AlphaTest == uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000182 Tex(TFuncMod) LM Fog #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000182 Tex(TFuncMod) LM Fog 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; 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.rgb = mix(u_fogcolor, v.rgb, fogCoef); gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000100 Fog #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000100 Fog varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v.rgb = mix(u_fogcolor, v.rgb, fogCoef); gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:0100d082 Tex(TFuncMod) LM StenToAlpha StenUniform AlphaTest > #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:0100d082 Tex(TFuncMod) LM StenToAlpha StenUniform AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:00000020 SWX LM RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:00000020 SWX LM RangeCull attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; attribute lowp vec3 color1; uniform vec4 u_xywh; uniform float u_NaN; uniform vec2 u_minZmaxZ; uniform vec2 u_rasterOffset; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { bool zClipped = false; v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_color1 = color1; v_fogdepth = fog; vec4 outPos = position; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:01000082 Tex(TFuncMod) LM StenToAlpha StenUniform #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:01000082 Tex(TFuncMod) LM StenToAlpha StenUniform uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; 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 = vec4(v.rgb, u_stencilReplaceValue); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version stencil_fs #version 110 // Driver: - GLSL 110 #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); } uniform float stencilValue; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 index = texture2D(tex, v_texcoord.xy); vec4 outColor = index.aaaa; float shifted = roundAndScaleTo255f(index.a) / roundAndScaleTo255f(stencilValue); if (mod(floor(shifted), 2.0) < 0.99) DISCARD; gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:0100031e HWX N T C MatUp:3 Light: RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:0100031e HWX N T C MatUp:3 Light: 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 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) { float len2 = dot(v, v); return len2 == 0.0 ? vec3(0.0, 0.0, 1.0) : (v * inversesqrt(len2)); } 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); mediump float ldot; 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; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version reinterpret #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; float packColor(vec2 val) { return floor(val.r * 255.99) + floor(val.g * 255.99) * 256.0; } vec4 unpackColor(float color) { vec4 outColor = vec4(mod(floor(color), 32.0), mod(floor(color / 32.0), 64.0), mod(floor(color / 2048.0), 32.0), 0.0); outColor.rb *= 1.0 / 31.0; outColor.g *= 1.0 / 63.0; outColor.a = 1.0; return outColor; } uniform vec2 texSize; uniform float scaleFactor; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 val = texture2D(tex, v_texcoord.xy); float u = mod(floor(v_texcoord.x * texSize.x * 2.0), 2.0); vec4 outColor = unpackColor(u == 0.0 ? packColor(val.rg) : packColor(val.ba)); gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000402 Tex(TFuncMod) FragDepthClamp #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000402 Tex(TFuncMod) FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:0100d482 Tex(TFuncMod) LM StenToAlpha StenUniform AlphaTest > FragDepthClamp #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:0100d482 Tex(TFuncMod) LM StenToAlpha StenUniform AlphaTest > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; uniform float u_stencilReplaceValue; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) DISCARD; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00e00002 Tex(TFuncMod) TClampST #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00e00002 Tex(TFuncMod) TClampST uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:01000002 Tex(TFuncMod) StenToAlpha StenUniform #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:01000002 Tex(TFuncMod) StenToAlpha StenUniform uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; 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; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version stencil_vs #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) attribute vec2 a_position; varying highp vec2 v_texcoord; // TEXCOORD0 (0) void main() { v_texcoord = a_position * 2.0; gl_Position = vec4(v_texcoord * 2.0 - vec2(1.0, 1.0), 0.0, 1.0); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000002 Tex(TFuncMod) #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000002 Tex(TFuncMod) uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; 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; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00060000:00000000 #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 varying lowp vec4 v_color0; varying mediump float v_fogdepth; void main() { vec4 v = v_color0; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00040000:00000000 SWX RangeCull #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00040000:00000000 SWX RangeCull attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform vec4 u_xywh; uniform float u_NaN; uniform vec2 u_minZmaxZ; uniform vec2 u_rasterOffset; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { bool zClipped = false; v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = position; if (!zClipped && (outPos.x < 0.0 || outPos.y < 0.0 || outPos.x >= 4096.0 || outPos.y >= 4096.0 || outPos.w < -1.0)) { outPos = vec4(u_NaN, u_NaN, u_NaN, u_NaN); } outPos.xy -= u_rasterOffset.xy; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version draw2d_copy_depth #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 outColor = vec4(0.0, 0.0, 0.0, 0.0); gl_FragDepth = texture2D(tex, v_texcoord.xy).x; gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00000000:00000001 Clear #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00000000:00000001 Clear varying lowp vec4 v_color0; varying mediump float v_fogdepth; void main() { vec4 v = v_color0; gl_FragColor = v; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version 00000000:00000001 THR SWX #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00000000:00000001 THR SWX attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform vec4 u_xywh; uniform float u_NaN; uniform vec2 u_minZmaxZ; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { bool zClipped = false; v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = position; outPos.xy = (((outPos.xy + u_xywh.xy) * u_xywh.zw) - vec2(1.0, 1.0)) * outPos.w; outPos.z *= outPos.w * (1.0 / 65536.0); gl_Position = outPos; gl_Position.z = gl_Position.z * 2.0 - gl_Position.w; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version draw2d_copy_color #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying highp vec2 v_texcoord; // TEXCOORD0 void main() { vec4 outColor = texture2D(tex, v_texcoord.xy); gl_FragColor = outColor; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version draw2d_vs #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) attribute vec2 a_position; attribute vec2 a_texcoord0; varying highp vec2 v_texcoord; // TEXCOORD0 (0) void main() { v_texcoord = a_texcoord0; gl_Position = vec4(a_position, 0.0, 1.0); }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) varying highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0).zyxw * oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0) * oColor0; col.rgb = splat3(col.a); col.rgb *= oColor0.a; gl_FragColor = col; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 varying highp vec2 oTexCoord0; // TEXCOORD0 void main() { vec4 col = texture2D(tex, oTexCoord0) * oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; varying lowp vec4 oColor0; // COLOR0 void main() { vec4 col = oColor0; col.rgb *= oColor0.a; gl_FragColor = col; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) varying highp vec2 oTexCoord0; // TEXCOORD0 (1) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); oColor0 = Color0; oTexCoord0 = TexCoord0; }
God of War: Chains of Olympus v1.20.4-777-g16a38b090a 2026-08-01 Error in shader compilation: info: ERROR: Invalid #version thin3d #version 110 // Driver: - GLSL 110 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } uniform mat4 WorldViewProj; uniform vec2 TintSaturation; attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying lowp vec4 oColor0; // COLOR0 (0) void main() { gl_Position = mul(WorldViewProj, vec4(Position, 1.0)); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); }
eFootball Chelito 19 v1.11 2026-07-31 Error in shader compilation: info: 0:1: L0001: Unknown character '�'(192) 0:1: L0001: Unknown character ''(28) 0:1: L0001: Typename expected, found ')' thin3d �)�P)�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; }
Prince of Persia® Rival Swords v1.20.4 2026-08-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 r10p0-00dev0 [Revision 96995]. 01f34440:00000b20 HWX T N 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:00000b20 HWX T N 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 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; 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_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_dept
Prince of Persia - Revelations v1.20.4 2026-08-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 r10p0-00dev0 [Revision 96995]. 01f74440:00000b20 HWX T N Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:7 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)) // 01f74440:00000b20 HWX T N Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:7 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 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; 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_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_dept
eFootball 2024 By RH12 Official v1.20.4-664-g978324fea8 2026-07-30 Error in shader compilation: info: 0:14: P0004: High precision not supported, instead compiling high precision as medium precision 0:24: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) AlphaTest0 > FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
eFootball 2024 By RH12 Official v1.20.4-664-g978324fea8 2026-07-30 Error in shader compilation: info: 0:13: P0004: High precision not supported, instead compiling high precision as medium precision 0:22: L0002: Undeclared variable 'gl_FragDepth' 00060000:00000000 Tex(TFuncMod) FragDepthClamp #version 100 // Driver: Mali-450 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // %00060000:00000000 Tex(TFuncMod) FragDepthClamp uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; varying highp vec2 v_zw; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; gl_FragColor = v; highp float projZ = v_zw.x / v_zw.y; gl_FragDepth = clamp(projZ, 0.0, 65535.0) / 65535.0; }
eFootball Lop - Play v1.20.4 2026-07-26 Error in shader compilation: info: 0:14: L0001: Expected token ')', found 'end of file' 0:14: L0001: Expected token '}', found 'end of file' 00184000:00200400 Fog TexAlpha Flat #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:00200400 Fog TexAlpha Flat varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor
NEED FOR SPEED™ UNDERCOVER v1.20.4 2026-07-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 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
God of War®: Ghost of Sparta v1.20.4 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 4300/4500 Series - 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; }
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-08-07 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; }