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 PC - V. v1.6.3 2025-03-31 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; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:0021d022 Tex TexAlpha Fog TFuncMod AlphaTest0 > #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform sampler2D testtex; 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; 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; fragColor0 = v; } vs: 00000000:00000034 Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00200002 Tex Fog TFuncMod #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; 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; vec4 v = vec4(t.rgb * p.rgb, p.a); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:00000034 Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; 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; 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:0000003c C Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:0021d002 Tex Fog TFuncMod AlphaTest0 > #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform sampler2D testtex; 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; vec4 v = vec4(t.rgb * p.rgb, p.a); 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:0000003c C Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:0021d022 Tex TexAlpha Fog TFuncMod AlphaTest0 > #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; uniform sampler2D testtex; 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; 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; fragColor0 = v; } vs: 00000000:0000003c C Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball Chelito 19 v1.12.2 2025-03-31 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00200002 Tex Fog TFuncMod #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-T820 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; 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; vec4 v = vec4(t.rgb * p.rgb, p.a); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000003c C Fog Tex Cull #version 320 es // Mali-T820 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; 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 = position.w; vec4 outPos = mul(u_proj, vec4(position.xyz, 1.0)); vec3 projPos = outPos.xyz / outPos.w; if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) { if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
eFootball PC - V. v1.6.3 2025-03-31 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat 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 = 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 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 Play-C v1.6.3 2025-03-30 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); }
Grand Theft Auto: Vice City Stories v1.6.3 2025-03-30 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:00200002 Tex 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 = vec4(t.rgb * p.rgb, p.a); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:00000914 HWX T Fog Tex #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; 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; }
eFOOTBALL PES MERAH PUTIH CLASSIC LIGINA V1 MOD BY SY87 GAMERS v1.18.1 2025-03-30 Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.4771995544
eFootball PC - V. v1.6.3 2025-03-29 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00004000:0001d000 Flat AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; flat in vec4 v_color0; inout vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; 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 SM - V. v1.6.3 2025-03-29 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0021d002 Tex Fog TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require 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.17.1-334-g1786a4ddb 2025-03-29 Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.4771995544
FIFA 13 v1.6.3 2025-03-28 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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: 00000000:00010150 HWX Tex TexProjPos UVMtx #version 300 es precision highp float; in vec3 position; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out mediump vec3 v_texcoord; 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 = (u_texmtx * vec4(position.xyz, 1.0)).xyz * vec3(u_uvscaleoffset.xy, 1.0); }
FIFA 13 v1.6.3 2025-03-28 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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; 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); }
FIFA 13 v1.6.3 2025-03-28 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000000 #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; 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 PC - V. v1.6.3-432-gfd6c3145d 2025-03-28 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying 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: 40000000:00000914 HWX T Fog Tex Flat #version 100 precision highp float; attribute vec3 position; attribute 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; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = 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; }
eFootball PC - V. v1.6.3-432-gfd6c3145d 2025-03-28 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying 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:0000091c HWX C T Fog Tex #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; attribute 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; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = 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-03-28 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: 01070000:00000305 HWX N LM Fog Light: 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 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); mediump float ldot; v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball PC - V. v1.6.2 2025-03-27 Error in shader program link: info: Link failed because of missing shader. fs: 00004000:00000000 Flat #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; flat in vec4 v_color0; out 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 Euro y Copa America By T. Bendezu v1.18.1 2025-03-25 Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))
Grand Theft Auto®: Chinatown Wars™ v1.7.5 2025-03-25 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying 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; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31591:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:1 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale)
Grand Theft Auto®: Chinatown Wars™ v1.7.5 2025-03-26 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying 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; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f31951:00000915 HWX T LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:2 3: c:1 t:0 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0); diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale)
Grand Theft Auto®: Chinatown Wars™ v1.7.5 2025-03-25 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:0020d822 Tex TexAlpha LM Fog TFuncMod AlphaTest > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; varying vec4 v_color0; varying 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; vec4 v = p * t + s; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) discard; gl_FragColor = v; } vs: 01f35991:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform 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 lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u
Grand Theft Auto®: Chinatown Wars™ v1.7.5 2025-03-26 Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking fs: 00000000:00200802 Tex LM Fog TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; varying 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; 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); gl_FragColor = v; } vs: 01f35991:00000b1d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:1 t:2 2: c:1 t:2 3: c:1 t:1 MatUp:3 (failed) #version 100 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform 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 lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; toLight = u_lightpos0; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse0 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir1), toLight); if (angle >= u_lightangle_spotCoef1.x) { lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef1.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse1 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) * lightScale); lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos2 - worldpos; distance = length(toLight); toLight /= distance; ldot = max(dot(toLight, worldnormal), 0.0); angle = dot(normalize(u_lightdir2), toLight); if (angle >= u_lightangle_spotCoef2.x) { lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * pow(angle, u_lightangle_spotCoef2.y); } else { lightScale = 0.0; } diffuse = (u_lightdiffuse2 * color0.rgb) * ldot; ldot = dot(normaliz
PES 2013 v1.18.1 2025-03-25 Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))
GTA: Liberty City Stories v1.6.3 2025-03-24 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00000000 #version 100 precision lowp float; varying vec4 v_color0; void main() { vec4 v = v_color0 ; gl_FragColor = v; } vs: 00000000:0000000a THR C #version 100 precision highp float; attribute vec4 position; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
GTA: Liberty City Stories v1.6.3 2025-03-24 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 100 precision lowp float; uniform sampler2D tex; varying vec4 v_color0; 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: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 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); }
GTA: Liberty City Stories v1.6.3 2025-03-24 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00004000:00000000 Flat #version 100 precision lowp float; varying vec4 v_color0; void main() { vec4 v = v_color0 ; gl_FragColor = v; } vs: 40000000:0000000a THR C Flat #version 100 precision highp float; attribute vec4 position; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying 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-03-24 Error in shader program link: info: Link failed because of missing shader. fs: 00000000:0001d002 Tex TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; 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); if (v.a < 0.002) discard; 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); }
300: March to Glory v1.6.3 2025-03-22 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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: 01010000:00000918 HWX C T Tex Light: MatUp:1 #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 vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out mediump vec3 v_texcoord; 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_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
300: March to Glory v1.6.3 2025-03-22 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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; fragColor0 = v; } vs: 00000000:0000005a THR C Tex TexProjPos #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); }
300: March to Glory v1.6.3 2025-03-22 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:00000002 Tex TFuncMod #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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: 01010000:00050958 HWX C T Tex TexProjUV UVMtx Light: MatUp:1 #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 mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out mediump vec3 v_texcoord; 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_texcoord = (u_texmtx * vec4(texcoord.xy, 0.0, 1.0)).xyz * vec3(u_uvscaleoffset.xy, 1.0); }
GTA: Liberty City Stories v1.6.3 2025-03-22 Error in shader program link: info: Link failed because of missing shader. 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 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 = 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: 01170000:00000315 HWX N LM Fog Tex Light: 0: 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 vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; 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 mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); 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); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = vec3(0.0); v_texcoord = vec3(0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
GTA: Liberty City Stories v1.6.3 2025-03-22 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0020d002 Tex Fog 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; 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 = vec4(t.rgb * p.rgb, p.a); 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: 00000000:00000b1c HWX C T N Fog Tex #version 300 es precision highp float; 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; 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 = normalize((u_world * vec4(normal, 0.0)).xyz); 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-03-22 Error in shader program link: info: Link failed because of missing shader. fs: 00000000:0020d022 Tex TexAlpha Fog 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; 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 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: 00000000:00000b1c HWX C T N Fog Tex #version 300 es precision highp float; 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; 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 = normalize((u_world * vec4(normal, 0.0)).xyz); 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-03-22 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:00000b18 HWX C T N Tex #version 300 es precision highp float; 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; out lowp vec4 v_color0; out highp vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
GTA: Liberty City Stories v1.6.3 2025-03-28 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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; 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 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 PC - V. v1.6.3 2025-03-20 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:0001d000 AlphaTest0 > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; gl_FragColor = v; } vs: 00000000:0000000a THR C #version 100 precision highp float; attribute vec4 position; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
METAL SLUG Anthology v1.18.1 2025-03-19 Error in shader program link: info: L0001 Vertex shader varying symbols are corrupt fs: 00190000:0000d40a Tex TexAlpha TFuncBlend AlphaTest > TestDiscardToZero #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)) // 00190000:0000d40a Tex TexAlpha TFuncBlend AlphaTest > TestDiscardToZero uniform sampler2D tex; uniform sampler2D testtex; uniform vec3 u_texenv; 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 = vec4(mix(p.rgb, u_texenv.rgb, t.rgb), p.a * t.a); float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 00000000:00000002 THR #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:00000002 THR 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; }
METAL SLUG Anthology v1.18.1 2025-03-19 Error in shader program link: info: L0001 Vertex shader varying symbols are corrupt fs: 00190000:0000d782 Tex TexAlpha TClampST TFuncMod AlphaTest > TestDiscardToZero #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)) // 00190000:0000d782 Tex TexAlpha TClampST TFuncMod AlphaTest > TestDiscardToZero uniform sampler2D tex; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; uniform sampler2D testtex; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; vec4 v = p * t; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 00000000:00000002 THR #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:00000002 THR 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; }
METAL SLUG Anthology v1.18.1 2025-03-19 Error in shader program link: info: L0001 Vertex shader varying symbols are corrupt fs: 00190000:0000d402 Tex TexAlpha TFuncMod AlphaTest > TestDiscardToZero #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)) // 00190000:0000d402 Tex TexAlpha TFuncMod AlphaTest > TestDiscardToZero 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; float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a; if (aResult < 0.5) v.a = 0.0; gl_FragColor = v; } vs: 00000000:00000002 THR #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:00000002 THR 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; }
METAL SLUG Anthology v1.18.1 2025-03-19 Error in shader program link: info: L0001 Vertex shader varying symbols are corrupt fs: 00180000:00000782 Tex TexAlpha TClampST 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:00000782 Tex TexAlpha TClampST TFuncMod uniform sampler2D tex; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; varying lowp vec4 v_color0; varying mediump float v_fogdepth; varying mediump vec3 v_texcoord; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture2D(tex, fixedcoord.xy); vec4 p = v_color0; vec4 v = p * t; gl_FragColor = v; } vs: 00000000:00000002 THR #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:00000002 THR 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; }
METAL SLUG Anthology v1.18.1 2025-03-19 Error in shader program link: info: L0001 Vertex shader varying symbols are corrupt fs: 00180000:0000040a Tex TexAlpha TFuncBlend #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:0000040a Tex TexAlpha TFuncBlend uniform sampler2D tex; uniform vec3 u_texenv; 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 = vec4(mix(p.rgb, u_texenv.rgb, t.rgb), p.a * t.a); gl_FragColor = v; } vs: 00000000:00000002 THR #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:00000002 THR 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 Euro y Copa America By T. Bendezu v1.18.1 2025-03-19 Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.4771995544
eFootball 25 Hend Asean New Season v1.10.3 2025-03-26 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.6.3 2025-03-18 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; 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; fragColor0 = v; } vs: 40000000:00000910 HWX T 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; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; 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); }
PES FL 2022 v1.17.1-334-g1786a4ddb 2025-03-18 Error in shader program link: info: Link failed because of missing 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; }
PES FL 2022 v1.17.1-334-g1786a4ddb 2025-03-18 Error in shader program link: info: Link failed because of missing 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) * 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 NEW PATCH SEASON 2025.... v1.18.1 2025-03-18 Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; bvec4 _and_(bvec4 A, bvec4 B) { return bvec4(A.x && B.x, A.y && B.y, A.z && B.z, A.w && B.w); } vec4 df(vec4 A, vec4 B) { return abs(A - B); } bvec4 close(vec4 A, vec4 B) { vec4 param = A; vec4 param_1 = B; return lessThan(df(param, param_1), vec4(15.0)); } bvec4 _or_(bvec4 A, bvec4 B) { return bvec4(A.x || B.x, A.y || B.y, A.z || B.z, A.w || B.w); } vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) { vec4 param = a; vec4 param_1 = b; vec4 param_2 = a; vec4 param_3 = c; vec4 param_4 = d; vec4 param_5 = e; vec4 param_6 = d; vec4 param_7 = f; vec4 param_8 = g; vec4 param_9 = h; return (((df(param, param_1) + df(param_2, param_3)) + df(param_4, param_5)) + df(param_6, param_7)) + (df(param_8, param_9) * 4.0); } vec3 processxBR(vec3 color) { vec2 pS = vec2(1.0) / u_texelDelta; vec2 fp = fract(v_texcoord0 * pS); vec2 TexCoord_0 = v_texcoord0 - (fp * u_pixelDelta); vec2 dx = vec2(u_texelDelta.x, 0.0); vec2 dy = vec2(0.0, u_texelDelta.y); vec2 y2 = dy + dy; vec2 x2 = dx + dx; vec3 A = texture(sampler0, (TexCoord_0 - dx) - dy).xyz; vec3 B = texture(sampler0, TexCoord_0 - dy).xyz; vec3 C = texture(sampler0, (TexCoord_0 + dx) - dy).xyz; vec3 D = texture(sampler0, TexCoord_0 - dx).xyz; vec3 E = texture(sampler0, TexCoord_0).xyz; vec3 F = texture(sampler0, TexCoord_0 + dx).xyz; vec3 G = texture(sampler0, (TexCoord_0 - dx) + dy).xyz; vec3 H = texture(sampler0, TexCoord_0 + dy).xyz; vec3 I = texture(sampler0, (TexCoord_0 + dx) + dy).xyz; vec3 A1 = texture(sampler0, (TexCoord_0 - dx) - y2).xyz; vec3 C1 = texture(sampler0, (TexCoord_0 + dx) - y2).xyz; vec3 A0 = texture(sampler0, (TexCoord_0 - x2) - dy).xyz; vec3 G0 = texture(sampler0, (TexCoord_0 - x2) + dy).xyz; vec3 C4 = texture(sampler0, (TexCoord_0 + x2) - dy).xyz; vec3 I4 = texture(sampler0, (TexCoord_0 + x2) + dy).xyz; vec3 G5 = texture(sampler0, (TexCoord_0 - dx) + y2).xyz; vec3 I5 = texture(sampler0, (TexCoord_0 + dx) + y2).xyz; vec3 B1 = texture(sampler0, TexCoord_0 - y2).xyz; vec3 D0 = texture(sampler0, TexCoord_0 - x2).xyz; vec3 H5 = texture(sampler0, TexCoord_0 + y2).xyz; vec3 F4 = texture(sampler0, TexCoord_0 + x2).xyz; vec4 b = vec4(dot(B, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(D, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(H, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(F, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 c = vec4(dot(C, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(A, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(G, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(I, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 d = vec4(b.y, b.z, b.w, b.x); vec4 e = vec4(dot(E, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))); vec4 f = vec4(b.w, b.x, b.y, b.z); vec4 g = vec4(c.z, c.w, c.x, c.y); vec4 h = vec4(b.z, b.w, b.x, b.y); vec4 i = vec4(c.w, c.x, c.y, c.z); vec4 i4 = vec4(dot(I4, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375)), dot(C1, vec3(16.1630001068115234375, 23.3509998321533203125, 8.477199554443359375))
eFootball PC - V. v1.6.3 2025-03-17 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_EXT_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; 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 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-432-gfd6c3145d 2025-03-16 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #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 = p * t; if (v.a < 0.002) discard; 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 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.3 2025-03-15 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000000 Flat #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; flat in vec4 v_color0; out 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-03-13 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat 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; fragColor0 = v; } vs: 40000000:00000918 HWX C T 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; flat out lowp vec4 v_color0; out highp vec3 v_texcoord; 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); }
FIFA 08 v1.10.3 2025-03-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 #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
DBS TTT LATINO - LOS IJUE30S v1.11.3 2025-03-12 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00800022 Tex TexAlpha 2x TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = v; } vs: 00000000:00000012 THR Tex #version 320 es // Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
DBS TTT LATINO - LOS IJUE30S v1.11.3 2025-03-12 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00800022 Tex TexAlpha 2x TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 320 es // Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
DBS TTT LATINO - LOS IJUE30S v1.11.3 2025-03-12 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00000002 Tex TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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: 00000000:0000001a THR C Tex #version 320 es // Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
DBS TTT LATINO - LOS IJUE30S v1.11.3 2025-03-12 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00000002 Tex TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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: 00000000:00000012 THR Tex #version 320 es // Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
DBS TTT LATINO - LOS IJUE30S v1.11.3 2025-03-12 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00000022 Tex TexAlpha TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G52 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D tex; in lowp 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; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 320 es // Mali-G52 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) 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; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
eFootball Chelito 19 v1.6.3 2025-03-11 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00004000:0001d002 Tex Flat TFuncMod AlphaTest0 > #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); if (v.a < 0.002) discard; gl_FragColor = v; } vs: 40000000:00000012 THR Tex Flat #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 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.18 2025-03-11 Error in shader program link: info: ERROR: Compiled vertex shader was corrupt. fs: 10180000:00000802 Tex LM FragUber TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Apple A11 GPU - GLSL 300 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000802 Tex LM FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 01000000:80120b21 HWX T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 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:80120b21 HWX 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; 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_lighta
RIDGE RACER® v1.12.2 2025-03-10 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
NEED FOR SPEED™ MOST WANTED 5-1-0 v1.12.2 2025-03-10 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
Ben 10 Ultimate Alien Cosmic Destruction v1.6.3 2025-03-09 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00002a82:0020d022 Tex TexAlpha Fog ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod AlphaTest > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; uniform sampler2D testtex; 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 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); v.rgb = v.rgb * u_blendFixA; 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 PC - V. v1.11.3 2025-03-09 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 SM - V. v1.6.3 2025-03-09 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #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 = p * t; if (v.a < 0.002) discard; 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 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); }
ソードアート・オンライン -インフィニティ・モーメント- v1.18.1 2025-03-07 Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec2 u_texelDelta; in vec2 v_texcoord0; in vec2 v_texcoord1; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; void main() { vec2 texcoordInPixels = v_texcoord0 * v_texcoord1; vec2 centerCoord = floor(texcoordInPixels) + vec2(0.5); vec2 distFromCenter = abs(centerCoord - texcoordInPixels); float Y = max(distFromCenter.x, distFromCenter.y); Y *= Y; float YY = Y * Y; float YYY = YY * Y; float LineWeight = YY - (2.7000000476837158203125 * YYY); LineWeight = 1.0 - (14.0 * LineWeight); vec3 colour = texture(sampler0, u_texelDelta * centerCoord).xyz * LineWeight; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor = vec4(colour, 1.0); } vs: postshader #version 320 es uniform vec2 u_texelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec2 v_texcoord1; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; v_texcoord1 = vec2(1.0) / u_texelDelta; }
ソードアート・オンライン -インフィニティ・モーメント- v1.18.1 2025-03-07 Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage. Error: Linking failed. fs: postshader #version 320 es precision mediump float; precision highp int; uniform vec2 u_texelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; in vec2 v_texcoord0; in vec2 v_texcoord1; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; void main() { vec2 texcoordInPixels = ((v_texcoord0 * v_texcoord1) * 272.0) * u_texelDelta.y; vec2 centerCoord = floor(texcoordInPixels) + vec2(0.5); vec2 distFromCenter = abs(centerCoord - texcoordInPixels); float Y = max(distFromCenter.x, distFromCenter.y); Y *= Y; float YY = Y * Y; float YYY = YY * Y; float LineWeight = YY - (2.7000000476837158203125 * YYY); LineWeight = 1.0 - (14.0 * LineWeight); vec3 screen = pow(texture(sampler0, v_texcoord0).xyz, vec3(2.21000003814697265625)); screen = clamp(screen, vec3(0.0), vec3(1.0)); screen = pow(mat3(vec3(0.920000016689300537109375, 0.0350000001490116119384765625, 0.00999999977648258209228515625), vec3(0.23999999463558197021484375, 0.795000016689300537109375, 0.014999999664723873138427734375), vec3(-0.1599999964237213134765625, 0.17000000178813934326171875, 0.97500002384185791015625)) * screen, vec3(0.4545454680919647216796875)); _RESERVED_IDENTIFIER_FIXUP_gl_FragColor = vec4(screen * LineWeight, 1.0); } vs: postshader #version 320 es uniform vec2 u_texelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec2 v_texcoord1; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; v_texcoord1 = vec2(1.0) / u_texelDelta; }
eFootball Chelito 19 v1.6.3 2025-03-05 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); }
FOOTBALL 2025 v1.7.4 2025-03-05 Error in shader program link: info: Error: input v_texcoordNC0 not declared in output from previous stage. Error: Linking failed. 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 //Default: 0.10 /outlines sensitivity, recommended from 0.00...0.50 #define bb 0.45 //Default: 0.45 /outlines
Dragon Ball Z: Tenkaichi Tag Team v1.11.3-1276-g192a43c1c 2025-03-04 Error in shader program link: info: error: declarations for uniform `u_texelDelta` have mismatching precision qualifiers fs: postshader #version 310 es precision mediump float; precision highp int; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; vec3 processGAUSS_S(inout vec3 color) { float GAUSSS_SPAN_MAX = 1.5; float GAUSSS_KERNEL_SIZE = 5.0; vec2 offsetS = (u_pixelDelta * GAUSSS_SPAN_MAX) / vec2(GAUSSS_KERNEL_SIZE); vec3 cGaussS0 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -2.0))).xyz * 1.0; vec3 cGaussS1 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0))).xyz * 3.0; vec3 cGaussS2 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -1.0))).xyz * 8.0; vec3 cGaussS3 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, -1.0))).xyz * 3.0; vec3 cGaussS4 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-2.0, 0.0))).xyz * 1.0; vec3 cGaussS5 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 0.0))).xyz * 8.0; vec3 cGaussS6 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0))).xyz * 10.0; vec3 cGaussS7 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, 0.0))).xyz * 8.0; vec3 cGaussS8 = texture(sampler0, v_texcoord0 + (offsetS * vec2(2.0, 0.0))).xyz * 1.0; vec3 cGaussS9 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 1.0))).xyz * 3.0; vec3 cGaussS10 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 1.0))).xyz * 8.0; vec3 cGaussS11 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0))).xyz * 3.0; vec3 cGaussS12 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 2.0))).xyz * 1.0; color = (((((((((((cGaussS0 + cGaussS1) + cGaussS2) + cGaussS3) + cGaussS4) + cGaussS5) + cGaussS6) + cGaussS7) + cGaussS8) + cGaussS9) + cGaussS10) + cGaussS11) + cGaussS12; color /= vec3(58.0); return color; } vec3 processSHADEBOOST(inout vec3 color) { float sat = 1.89999997615814208984375; float brt = 0.699999988079071044921875; float con = 1.2000000476837158203125; float AvgLumR = 1.5; float AvgLumG = 1.5; float AvgLumB = 1.5; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; return color; } void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 5; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 param = color; vec3 _311 = processGAUSS_S(param); color = _311; vec3 param_1 = color; vec3 _314 = processSHADEBOOST(param_1); color = _314; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor = vec4(color.x, color.y, color.z, _RESERVED
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-03-04 Error in shader program link: info: error: declarations for uniform `u_texelDelta` have mismatching precision qualifiers fs: postshader #version 310 es precision mediump float; precision highp int; uniform vec2 u_pixelDelta; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; vec3 processGAUSS_S(inout vec3 color) { float GAUSSS_SPAN_MAX = 1.5; float GAUSSS_KERNEL_SIZE = 5.0; vec2 offsetS = (u_pixelDelta * GAUSSS_SPAN_MAX) / vec2(GAUSSS_KERNEL_SIZE); vec3 cGaussS0 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -2.0))).xyz * 1.0; vec3 cGaussS1 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0))).xyz * 3.0; vec3 cGaussS2 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, -1.0))).xyz * 8.0; vec3 cGaussS3 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, -1.0))).xyz * 3.0; vec3 cGaussS4 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-2.0, 0.0))).xyz * 1.0; vec3 cGaussS5 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 0.0))).xyz * 8.0; vec3 cGaussS6 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0))).xyz * 10.0; vec3 cGaussS7 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0, 0.0))).xyz * 8.0; vec3 cGaussS8 = texture(sampler0, v_texcoord0 + (offsetS * vec2(2.0, 0.0))).xyz * 1.0; vec3 cGaussS9 = texture(sampler0, v_texcoord0 + (offsetS * vec2(-1.0, 1.0))).xyz * 3.0; vec3 cGaussS10 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 1.0))).xyz * 8.0; vec3 cGaussS11 = texture(sampler0, v_texcoord0 + (offsetS * vec2(1.0))).xyz * 3.0; vec3 cGaussS12 = texture(sampler0, v_texcoord0 + (offsetS * vec2(0.0, 2.0))).xyz * 1.0; color = (((((((((((cGaussS0 + cGaussS1) + cGaussS2) + cGaussS3) + cGaussS4) + cGaussS5) + cGaussS6) + cGaussS7) + cGaussS8) + cGaussS9) + cGaussS10) + cGaussS11) + cGaussS12; color /= vec3(58.0); return color; } vec3 processSHADEBOOST(inout vec3 color) { float sat = 1.89999997615814208984375; float brt = 0.699999988079071044921875; float con = 1.2000000476837158203125; float AvgLumR = 1.5; float AvgLumG = 1.5; float AvgLumB = 1.5; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.x * 0.2125000059604644775390625) + (brtColor.y * 0.7153999805450439453125)) + (brtColor.z * 0.07209999859333038330078125)); vec3 satColor = mix(intensity, brtColor, vec3(sat)); vec3 conColor = mix(conRGB, satColor, vec3(con)); vec3 mixColor = AvgLumin * conColor; color = mixColor; return color; } void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 5; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 param = color; vec3 _311 = processGAUSS_S(param); color = _311; vec3 param_1 = color; vec3 _314 = processSHADEBOOST(param_1); color = _314; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.x = color.x; _RESERVED_IDENTIFIER_FIXUP
ModNation™ Racers v1.18.1 2025-03-04 Error in shader program link: info: error: declarations for uniform `u_texelDelta` have mismatching precision qualifiers fs: postshader #version 310 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; uniform vec4 u_time; uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; mediump int SEPIA; mediump int GRAYSCALE; mediump int NEGATIVE; mediump int PSPCOLORS; float overlay(float base, float blend) { float result = 0.0; if (base < 0.5) { result = (2.0 * base) * blend; } else { result = 1.0 - ((1.0 - (2.0 * (base - 0.5))) * (1.0 - blend)); } return result; } void main() { SEPIA = 0; GRAYSCALE = 0; NEGATIVE = 0; PSPCOLORS = 1; vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 colorB = color; mediump int hatsu = 0; vec3 blur = color * 1.2252061367034912109375; float param = color.x; float param_1 = blur.x; float param_2 = color.y; float param_3 = blur.y; float param_4 = color.z; float param_5 = blur.z; vec3 newcolor = vec3(overlay(param, param_1), overlay(param_2, param_3), overlay(param_4, param_5)); color = mix(color, newcolor, vec3(0.5)); vec4 sum = vec4(0.0); mediump int diffx = -1; mediump int diffy = 0; mediump int _109 = -diffy; for (mediump int i = _109; i < diffy; i++) { mediump int _120 = -diffx; for (mediump int j = _120; j < diffx; j++) { sum += (texture(sampler0, v_texcoord0 + (vec2(float(j), float(i)) * 0.00200000009499490261077880859375)) * 0.25); } } bool _151 = color.x < 0.300000011920928955078125; bool _157; if (_151) { _157 = color.y < 0.300000011920928955078125; } else { _157 = _151; } bool _163; if (_157) { _163 = color.z < 0.300000011920928955078125; } else { _163 = _157; } vec3 bloom; if (_163) { bloom = ((sum.xyz * sum.xyz) * 0.01200000010430812835693359375) + color; } else { bool _179 = color.x < 0.5; bool _185; if (_179) { _185 = color.y < 0.5; } else { _185 = _179; } bool _191; if (_185) { _191 = color.z < 0.5; } else { _191 = _185; } if (_191) { bloom = ((sum.xyz * sum.xyz) * 0.0089999996125698089599609375) + color; } else { bloom = ((sum.xyz * sum.xyz) * 0.0074999998323619365692138671875) + color; } } color = mix(color, bloom, vec3(0.5)); if (hatsu == 1) { color = mix(colorB, color, vec3(0.5)); } float sat = 1.7000000476837158203125; float brt = 1.10000002384185791015625; float con = 1.10000002384185791015625; float AvgLumR = 1.10000002384185791015625; float AvgLumG = 1.2999999523162841796875; float AvgLumB = 1.2000000476837158203125; if (SEPIA == 1) { sat = 0.00999999977648258209228515625; brt = 1.75; con = 1.0; AvgLumR = 0.439999997615814208984375; AvgLumG = 0.2599999904632568359375; AvgLumB = 0.07999999821186065673828125; } if (GRAYSCALE == 1) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (NEGATIVE == 1) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (PSPCOLORS == 1) { sat = 1.0; brt = 1.0; con = 1.0; AvgLumR = 0.959299981594085693359375; AvgLumG = 1.0738999843597412109375; AvgLumB = 1.46039998531341552734375; } vec3 AvgLumin = vec3(AvgLumR, AvgLumG, AvgLumB); vec3 conRGB = vec3(0.5); vec3 brtColor = color * brt; vec3 intensity = vec3(((brtColor.
eFootball Chelito 19 v1.6.3 2025-03-03 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0021d002 Tex Fog TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require 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: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.7.2 2025-03-03 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
eFootball PES 2024 "SN3" v1.11.3 2025-03-02 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00000001 Clear #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G71 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Mali-G71 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
SOULCALIBUR: Broken Destiny v1.11.3 2025-02-28 Error in shader program link: info: (unknown reason) 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 PES 2023 "SNE" v1.11.3 2025-03-01 Error in shader program link: info: L0001 Invalid shader type loaded fs: 00000000:00000001 Clear #version 320 es #extension GL_ARM_shader_framebuffer_fetch : require // Mali-G71 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Mali-G71 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
EA-Sports FC PC-V v1.11.3 2025-02-27 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
eFootball Chelito 19 v1.12.2 2025-02-27 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
BEN 10: Protector of Earth v1.12.2 2025-03-07 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
MONSTER HUNTER PORTABLE 2nd G v1.9.0 2025-02-27 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d #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 #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; }
Toy Story 3 v1.9.0 2025-02-26 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d #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 #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; }
Toy Story 3 v1.9.0 2025-02-26 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d #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 #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; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:01200802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:01200802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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 -= wor
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:02000802 Tex LM FragUber StenToAlphaDual StenUniform TFuncMod #version 320 es #extension GL_EXT_blend_func_extended : require #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:02000802 Tex LM FragUber StenToAlphaDual StenUniform TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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(t
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:02000802 Tex LM FragUber StenToAlphaDual StenUniform TFuncMod #version 320 es #extension GL_EXT_blend_func_extended : require #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:02000802 Tex LM FragUber StenToAlphaDual StenUniform TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } 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 #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); } out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00200802 Tex Fog LM FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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, v
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00000802 Tex LM FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000802 Tex LM FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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_l
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00000000 FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000000 FragUber 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 #version 320 es // Driver: Adreno (TM) 610 - 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; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00200802 Tex Fog LM FragUber TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 01000000:80000929 HWX C T LM Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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, di
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00200000 Fog FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00200000 Fog FragUber in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:00000120 HWX Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000120 HWX Cull in vec3 position; 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 = u_matambientalpha; v_texcoord = splat3(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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001; if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) { gl_CullDistance[0] = projPos.z - u_cullRangeMin.z; gl_CullDistance[1] = u_cullRangeMax.z - projPos.z; } else { gl_CullDistance[0] = 0.0; gl_CullDistance[1] = 0.0; } gl_Position = outPos; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10182a82:00000382 Tex FragUber TClampST ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182a82:00000382 Tex FragUber TClampST ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 00000000:00000002 THR #version 320 es // Driver: Adreno (TM) 610 - 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; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:05000000 FragUber StenToAlpha Sten0 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:05000000 FragUber StenToAlpha Sten0 in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = vec4(v.rgb, 0.0); } vs: 00000000:00000002 THR #version 320 es // Driver: Adreno (TM) 610 - 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; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00200000 Fog FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00200000 Fog FragUber in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; 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 #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001; if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) { gl_CullDistance[0] = projPos.z - u_cullRangeMin.z; gl_CullDistance[1] = u_cullRangeMax.z - projPos.z; } else { gl_CullDistance[0] = 0.0; gl_CullDistance[1] = 0.0; } gl_Position = outPos; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - 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 #version 320 es // Driver: Adreno (TM) 610 - 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; }
God of War: Chains of Olympus v1.18.1 2025-02-25 Error in shader program link: info: (unknown reason) fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 610 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; uniform float u_stencilReplaceValue; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); } out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 01000000:80000f29 HWX C T N LM RevN Light: LightUberShader Cull #version 320 es #extension GL_EXT_clip_cull_distance : enable // Driver: Adreno (TM) 610 - 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; med