Recent logs - Error in shader program link: info: %s fs: %s %s vs: %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
eFootball RB - V. v1.6.3 2025-07-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball 2025 by MP v1.19.3 2025-07-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball 2025 by MP v1.19.3 2025-07-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00000001 Clear #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000001 Clear in lowp vec4 v_color0; in highp float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball 2025 by MP v1.19.3 2025-07-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000002 Tex FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball 2025 by MP v1.19.3 2025-07-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10180000:0001d000 FragUber AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d000 FragUber AlphaTest0 > uniform uint u_alphacolorref; in lowp vec4 v_color0; in highp float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C
TEKKEN 6 v1.19.3 2025-07-18 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000382 Tex FragUber TClampST TFuncMod vs: 00000000:0000000a THR C #version 320 es // Driver: Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:0000000a THR C in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
EA-Sports FC PC-V v1.8.0 2025-07-16 Error in shader program link: info: (unknown reason) fs: 00000000:00000000 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 00000000:00000108 HWX C #version 300 es precision highp float; in vec3 position; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform lowp vec4 u_matambientalpha; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; v_color0 = color0; vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.w = u_cullRangeMax.w; } } gl_Position = outPos; }
eFootball 2025 by MP v1.19.2 2025-07-16 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; 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); } void main() { gl_Position = 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; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:003a0b20 HWX T N UVEnv 2: c:0 t:0 3: c:0 t:0 Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:003a0b20 HWX T N UVEnv 2: c:0 t:0 3: c:0 t:0 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 vec3 u_lightpos2; uniform vec3 u_lightpos3; 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; v_color0 = u_matambientalpha; v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos2) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos2), worldnormal)), 1.0 + (length(u_lightpos3) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos3), worldnormal))) * 0.5, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000b20 HWX T N Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000b20 HWX T N 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 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; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000002 THR #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000002 THR in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 01000000:80000928 HWX C T Light: LightUberShader Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000928 HWX C T Light: LightUberShader Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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;
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:0020d002 Tex Fog FragUber TFuncMod AlphaTest > vs: 01000000:80000928 HWX C T Light: LightUberShader Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000928 HWX C T Light: LightUberShader Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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 {
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 01000000:803a0b20 HWX T N UVEnv Light: LightUberShader 2: c:0 t:0 3: c:0 t:0 Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:803a0b20 HWX T N UVEnv Light: LightUberShader 2: c:0 t:0 3: c:0 t:0 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; 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_lig
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:0020d002 Tex Fog FragUber TFuncMod AlphaTest > vs: 01000000:803a0b20 HWX T N UVEnv Light: LightUberShader 2: c:0 t:0 3: c:0 t:0 Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:803a0b20 HWX T N UVEnv Light: LightUberShader 2: c:0 t:0 3: c:0 t:0 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; 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; } lightSu
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000028 C Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000028 C Cull in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; 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; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:0020d002 Tex Fog FragUber TFuncMod AlphaTest > vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 01000000:80000b20 HWX T N Light: LightUberShader Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b20 HWX T N Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; 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;
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:0000000a THR C #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:0000000a THR C in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000020 Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000020 Cull in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; 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; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Midnight Club 3: DUB Edition v1.19.3 2025-07-16 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: PowerVR Rogue GE8322 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
PES Ultimate Patch 2021 v1.6.3 2025-07-15 Error in shader program link: info: fs: 00000000:0021d002 Tex Fog TFuncMod AlphaTest0 > #version 300 es precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); if (v.a < 0.002) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
Def Jam® Fight For NY™: The Takeover v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 01000000:80000928 HWX C T Light: LightUberShader Cull #version 320 es // Driver: Mali-G52 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000928 HWX C T Light: LightUberShader Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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;
Def Jam® Fight For NY™: The Takeover v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:0000000a THR C #version 320 es // Driver: Mali-G52 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:0000000a THR C in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
Def Jam® Fight For NY™: The Takeover v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 01000000:80000b28 HWX C T N Light: LightUberShader Cull #version 320 es // Driver: Mali-G52 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b28 HWX C T N Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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 {
Def Jam® Fight For NY™: The Takeover v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Mali-G52 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Def Jam® Fight For NY™: The Takeover v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod vs: 00000000:00000b28 HWX C T N Cull #version 320 es // Driver: Mali-G52 MC2 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000b28 HWX C T N Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball PES 2021 T. Bendezu "C19" v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000002 Tex FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball PES 2021 T. Bendezu "C19" v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10180000:0001d000 FragUber AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d000 FragUber AlphaTest0 > uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball PES 2021 T. Bendezu "C19" v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000001 Clear #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000001 Clear in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball PES 2021 T. Bendezu "C19" v1.19.2 2025-07-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 MC2 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C
eFootball 2025 by Tbose Jama v1.11.3 2025-07-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); oColor0 = Color0; oTexCoord0 = TexCoord0; }
eFootball Chelito 19 v1.19.2 2025-07-12 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10184000:0021d002 Tex Fog Flat FragUber TFuncMod AlphaTest0 > vs: 40000000:00000920 HWX T Flat Cull #version 320 es // Driver: PowerVR Rogue GE8300 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00000920 HWX T Flat Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
TEKKEN 6 v1.19.2 2025-07-12 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000802 Tex LM FragUber TFuncMod vs: 01000000:80000b21 HWX T N LM Light: LightUberShader Cull #version 320 es // Driver: PowerVR Rogue GE8320 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b21 HWX T N LM 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 lowp vec3 v_color1; 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 * ambientCol
eFootball PC - V. v1.6.3 2025-07-11 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00004000:00000000 Flat #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; flat in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000002 THR Flat #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball Chelito 19 v1.6.3 2025-07-11 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:0021d022 Tex TexAlpha Fog Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
God of War®: Ghost of Sparta v1.18.1-1076-g87cf0be961 2025-07-11 Error in shader program link: info: Fragment shader(s) linked, vertex shader(s) failed to link. fs: 00180000:01200822 Tex Fog LM Double StenToAlpha StenUniform TFuncMod #version 120 // Driver: ATI MOBILITY RADEON X700 - GLSL 120 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00180000:01200822 Tex Fog LM Double StenToAlpha StenUniform TFuncMod uniform sampler2D tex; 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 = 1.0; vec4 v = p * t + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = vec4(v.rgb, u_stencilReplaceValue); } vs: 01730555:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull #version 120 // Driver: ATI MOBILITY RADEON X700 - GLSL 120 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01730555:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 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 mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform 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; 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 * diffuseColor) * max(ldot, 0.0); if (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; } if (ldot > 0.0) lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale; toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = dot(toLight, worldnormal); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0); if (ldot >= 0.0) { i
Grand Theft Auto: Vice City Stories v1.6.3 2025-07-11 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
Grand Theft Auto: Vice City Stories v1.6.3 2025-07-11 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00a00822 Tex TexAlpha LM Fog 2x TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01070000:0000091d HWX C T LM Fog Tex Light: MatUp:7 #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball Chelito 19 v1.6.3 2025-07-11 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball 2025 by MP v1.19.1-43-gd5cf9c97ca 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10184000:0021d002 Tex Fog Flat FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0021d002 Tex Fog Flat FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; flat in lowp vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 40000000:00000900 HWX T Flat
eFootball 2025 by MP v1.19.1-43-gd5cf9c97ca 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10184000:00200002 Tex Fog Flat FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00200002 Tex Fog Flat FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; flat in lowp vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000900 HWX T Flat
eFootball 2025 by MP v1.19.1-43-gd5cf9c97ca 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10184000:00000002 Tex Flat FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000002 Tex Flat FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; flat in lowp vec4 v_color0; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 40000000:00000900 HWX T Flat
eFootball 2025 by MP v1.19.1-43-gd5cf9c97ca 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 10184000:0001d002 Tex Flat FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: PowerVR Rogue GE8320 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0001d002 Tex Flat FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; flat in lowp vec4 v_color0; in highp float v_fogdepth; in highp vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 40000000:00000900 HWX T Flat
eFootball PC - V. v1.6.2 2025-07-10 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball PC - V. v1.6.2 2025-07-10 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball PES 2024 "SN3" v1.6.3 2025-07-10 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:0000091c HWX C T Fog Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball PC - V. v1.6.3 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000091c HWX C T Fog Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
GTA: Liberty City Stories v1.6.3 2025-07-10 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:00a0d802 Tex LM Fog 2x TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; v.rgb = v.rgb * 2.0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01770000:00000b15 HWX T N LM Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:7 #version 300 es precision highp float; 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 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; out lowp vec4 v_color0; out lowp vec3 v_color1; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
GTA: Liberty City Stories v1.6.3 2025-07-10 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00000000:0020d800 LM Fog AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in highp float v_fogdepth; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01770000:00000305 HWX N LM Fog Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:7 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform 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; out lowp vec4 v_color0; out lowp vec3 v_color1; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
GTA: Liberty City Stories v1.6.3 2025-07-10 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00000000:0020d800 LM Fog AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in highp float v_fogdepth; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01770000:00000b05 HWX T N LM Fog Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:7 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform 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; out lowp vec4 v_color0; out lowp vec3 v_color1; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
GTA: Liberty City Stories v1.6.3 2025-07-10 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00000000:00200800 LM Fog #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in highp float v_fogdepth; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 v = v_color0 + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01770000:00000b05 HWX T N LM Fog Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:7 #version 300 es precision highp float; in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform 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; out lowp vec4 v_color0; out lowp vec3 v_color1; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); vec3 toLight; lowp vec3 diffuse; mediump float ldot; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball PES 2021 By GABRIEL v1.19.2 2025-07-09 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00000001 Clear vs: 00000000:0000000a THR C #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)) // 00000000:0000000a THR C attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
PES 2014 v1.6.3 2025-07-09 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00000002 Tex TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying highp vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); gl_FragColor = v; } vs: 00000000:0000001a THR C Tex #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; varying highp vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball Chelito 19 v1.6.3 2025-07-08 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000001c C Fog Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFootball PES 2020 "C19" v1.6.3 2025-07-08 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
Yu-Gi-Oh! GX Tag Force v1.19.2 2025-07-07 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000382 Tex FragUber TClampST TFuncMod vs: 01000000:80000920 HWX T Light: LightUberShader Cull #version 320 es // Driver: PowerVR Rogue GE8320 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000920 HWX T Light: LightUberShader Cull in vec3 position; 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(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; 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_
Yu-Gi-Oh! GX Tag Force v1.19.2 2025-07-07 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 10180000:00000382 Tex FragUber TClampST TFuncMod vs: 00000000:00000002 THR #version 320 es // Driver: PowerVR Rogue GE8320 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000002 THR in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
WWE'12 v1.19.2 2025-07-07 Error in shader program link: info: (unknown reason) fs: 10180000:0001d802 Tex LM FragUber TFuncMod AlphaTest0 > vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull
EFOOTBALL NEW PATCH SEASON 2025.... v1.19.2 2025-07-06 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00000001 Clear vs: 00000000:0000000a THR C #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)) // 00000000:0000000a THR C attribute vec4 position; attribute highp float fog; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
eFootball RB - V. v1.6.3 2025-07-06 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:00000000 Flat #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; flat in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; fragColor0 = v; } vs: 40000000:00000002 THR Flat #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
Dragon Ball Z: Tenkaichi Tag Team v1.6.3 2025-06-30 Error in shader program link: info: Link failed because of missing shader. fs: 00002982:00800022 Tex TexAlpha 2x ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform vec3 u_blendFixB; in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; v.rgb = v.rgb * 2.0; v.rgb = v.rgb * vec3(v.a * 2.0); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
Dragon Ball Z: Tenkaichi Tag Team v1.6.3 2025-06-30 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00001d83:00000000 ReplaceBlend_3A:6_B:7_Eq:0 #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; v.rgb = v.rgb * vec3(v.a * 2.0); v.a = v.a * 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball 26 BY DIWAX GAMING v1.10.3 2025-06-29 Error in shader program link: info: cannot find a matched output for input v_texcoordNC0 cannot find a matched output for input v_texcoordNC1 cannot find a matched output for input v_texcoordNC2 cannot find a matched output for input v_texcoordNC3 fs: postshader #ifdef GL_ES precision mediump float; #endif //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.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 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //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 //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /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.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest
eFootball Chelito 19 v1.19.2 2025-06-26 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00180000:00000402 Tex TexAlpha TFuncMod #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)) // 00180000:00000402 Tex TexAlpha TFuncMod uniform sampler2D tex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; gl_FragColor = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-26 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00180000:0021d402 Tex Fog TexAlpha TFuncMod AlphaTest0 > #version 100 // Driver: Mali-400 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00180000:0021d402 Tex Fog TexAlpha TFuncMod AlphaTest0 > uniform sampler2D tex; uniform sampler2D testtex; varying lowp vec4 v_color0; uniform vec3 u_fogcolor; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; gl_FragColor = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-26 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00180000:0001d402 Tex TexAlpha TFuncMod AlphaTest0 > #version 100 // Driver: Mali-400 MP - GLSL 100 #define DISCARD discard precision lowp float; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00180000:0001d402 Tex TexAlpha TFuncMod AlphaTest0 > uniform sampler2D tex; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) DISCARD; gl_FragColor = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-26 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00180000:00200402 Tex Fog TexAlpha TFuncMod #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)) // 00180000:00200402 Tex Fog TexAlpha TFuncMod uniform sampler2D tex; 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; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 00000000:00000928 HWX C T Cull
PATCH JUDEORN v1.19.2 2025-06-24 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:0001d000 Flat FragUber AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0001d000 Flat FragUber AlphaTest0 > uniform uint u_alphacolorref; flat in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 40000000:00000002 THR Flat
PATCH JUDEORN v1.19.2 2025-06-24 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:00000002 Tex Flat FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000002 Tex Flat FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; flat in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 40000000:00000002 THR Flat
PATCH JUDEORN v1.19.2 2025-06-24 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:00000000 Flat FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000000 Flat FragUber flat in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 40000000:00000002 THR Flat
PATCH JUDEORN v1.19.2 2025-06-24 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:0001d002 Tex Flat FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0001d002 Tex Flat FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; flat in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 40000000:00000002 THR Flat
NARUTO SHIPPUDEN: Ultimate Ninja Impact v1.19.1 2025-06-23 Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; 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); } void main() { gl_Position = 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 PC - V. v1.19.2 2025-06-22 Error in shader program link: info: (unknown reason) fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; 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); } void main() { gl_Position = 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™: Ghost of Sparta v1.19.2 2025-06-22 Error in shader program link: info: ERROR: OpenGL ES requires exactly one vertex and one fragment shader to validly link. fs: 10180000:01200802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 300 es #extension GL_APPLE_clip_distance : enable // Driver: Apple A11 GPU - GLSL 300 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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) {
eFootball PES 2024 "SN3" v1.6.3 2025-06-25 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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),
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > vs: 01000000:80000f29 HWX C T N LM RevN Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000f29 HWX C T N LM RevN Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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)), w
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000000 FragUber vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:01000802 Tex LM FragUber StenToAlpha StenUniform TFuncMod vs: 01000000:80120b29 HWX C T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80120b29 HWX C T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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(toLi
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00400b8e Tex TexProj LM FragUber TClampST TFuncRepl vs: 01000000:80010b29 HWX C T N LM TexProjPos UVMtx Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80010b29 HWX C T N LM TexProjPos UVMtx Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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(t
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:01000802 Tex LM FragUber StenToAlpha StenUniform TFuncMod vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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 =
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod vs: 01000000:80000929 HWX C T LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000929 HWX C T LM Light: LightUberShader Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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);
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; 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 lowp vec3 v_color1; 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_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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)
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000000 FragUber vs: 00000000:0000000a THR C #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:0000000a THR C in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
Grand Theft Auto: Vice City Stories v1.6.3 2025-06-20 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:00200802 Tex LM Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; in vec3 v_color1; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a) + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:00000015 LM Fog Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; in lowp vec3 color1; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out lowp vec3 v_color1; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_color1 = color1; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
Grand Theft Auto: Vice City Stories v1.6.3 2025-06-20 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:0000d022 Tex TexAlpha TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; fragColor0 = v; } vs: 00000000:00000010 Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; out lowp vec4 v_color0; out highp vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFootball Chelito 19 v1.19.2 2025-06-19 Error in shader program link: info: The program must contain objects to form both a vertex and fragment shader. fs: 10180000:0021d002 Tex Fog FragUber TFuncMod AlphaTest0 > #version 320 es // Driver: ANGLE (Samsung Xclipse 530) on Vulkan 1.3.231 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0021d002 Tex Fog FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-19 Error in shader program link: info: The program must contain objects to form both a vertex and fragment shader. fs: 10180000:00200002 Tex Fog FragUber TFuncMod #version 320 es // Driver: ANGLE (Samsung Xclipse 530) on Vulkan 1.3.231 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00200002 Tex Fog FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-19 Error in shader program link: info: The program must contain objects to form both a vertex and fragment shader. fs: 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > #version 320 es // Driver: ANGLE (Samsung Xclipse 530) on Vulkan 1.3.231 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull
eFootball Chelito 19 v1.19.2 2025-06-19 Error in shader program link: info: The program must contain objects to form both a vertex and fragment shader. fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es // Driver: ANGLE (Samsung Xclipse 530) on Vulkan 1.3.231 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000002 Tex FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull
GTA: Liberty City Stories v1.6.3 2025-06-19 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:0000d002 Tex TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying mediump vec3 v_texcoord; void main() { vec4 t = texture2D(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 00000000:00000010 Tex #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFootball Play-C v1.6.3 2025-06-17 Error in shader program link: info: fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 40000000:00000914 HWX T Fog Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
EA-Sports FC PC-V v1.6.3 2025-06-14 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
PATCH SPARTAN11 v1.7.4 2025-06-13 Error in shader program link: info: cannot find a matched output for input v_texcoordNC0 cannot find a matched output for input v_texcoordNC1 cannot find a matched output for input v_texcoordNC2 cannot find a matched output for input v_texcoordNC3 fs: postshader //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.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 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //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 //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /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.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest shader pack #define th 0.10 //D
World Soccer Winning Eleven 9 Ubiquitous Evolution v1.19.1 2025-06-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:00000000 Flat FragUber #version 310 es #extension GL_ARM_shader_framebuffer_fetch : require // Driver: Mali-T860 - GLSL 310 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000000 Flat FragUber flat in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 40000000:0000000a THR C Flat
World Soccer Winning Eleven 9 Ubiquitous Evolution v1.19.1 2025-06-13 Error in shader program link: info: Link failed because of missing vertex shader. fs: 10184000:00000002 Tex Flat FragUber TFuncMod #version 310 es #extension GL_ARM_shader_framebuffer_fetch : require // Driver: Mali-T860 - GLSL 310 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00000002 Tex Flat FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; flat in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 40000000:0000000a THR C Flat
eFootball Chelito 19 v1.6.3 2025-06-17 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000001c C Fog Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
PATCH SPARTAN11 v1.19.1 2025-06-12 Error in shader program link: info: Link Error: Fragment shader is missing. fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; 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); } void main() { gl_Position = 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; }
PES 2013 v1.7.2 2025-06-12 Error in shader program link: info: Link failed because of invalid fragment shader. fs: postshader (failed) // 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