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 |
Hits |
Message |
| God of War: Chains of Olympus |
v1.18.1 |
2025-02-25 |
1 |
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 |
1 |
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 |
1 |
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 |
1 |
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 |
| God of War: Chains of Olympus |
v1.18.1 |
2025-02-25 |
1 |
Error in shader program link: info: (unknown reason)
fs: 10180000:00200002 Tex Fog 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:00200002 Tex Fog FragUber TFuncMod
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
in lowp vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
t.a = max(t.a, u_texNoAlphaMul.x);
vec4 v = p * t;
v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000:00000928 HWX C T Cull
#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 |
1 |
Error in shader program link: info: (unknown reason)
fs: 10180000:00400b8e Tex TexProj LM FragUber TClampST TFuncRepl
#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:00400b8e Tex TexProj LM FragUber TClampST TFuncRepl
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
uniform vec4 u_texclamp;
uniform vec2 u_texclampoff;
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);
vec2 fixedcoord = vec2((clamp((v_texcoord.x / v_texcoord.z), u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp((v_texcoord.y / v_texcoord.z), u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 r = t;
r.a = mix(r.a, p.a, u_texNoAlphaMul.x);
vec4 v = r + s;
v.rgb *= u_texNoAlphaMul.y;
fragColor0 = v;
}
vs: 01000000:80010b29 HWX C T N LM TexProjPos UVMtx 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:80010b29 HWX C T N LM TexProjPos UVMtx Light: LightUberShader Cull
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
uniform uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out mediump vec3 v_texcoord;
out mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
uint comp; uint type; float attenuation;
if ((u_lightControl & 0x1u) != 0x0u) {
comp = (u_lightControl >> 0x |
| God of War: Chains of Olympus |
v1.18.1 |
2025-02-25 |
1 |
Error in shader program link: info: (unknown reason)
fs: 10180000:00005382 Tex FragUber TClampST 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:00005382 Tex FragUber TClampST TFuncMod AlphaTest ==
uniform sampler2D tex;
uniform vec2 u_texNoAlphaMul;
uniform vec4 u_texclamp;
uniform vec2 u_texclampoff;
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
in lowp vec4 v_color0;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); }
out vec4 fragColor0;
void main() {
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 *= u_texNoAlphaMul.y;
if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) != int(u_alphacolorref >> 0x18u)) DISCARD;
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;
}
|
| eFootball PC - V. |
v1.10.3 |
2025-02-20 |
2 |
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 |
| FOOTBALL 2025 |
v1.10.3 |
2025-02-19 |
1 |
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.8.0 |
2025-02-18 |
1 |
Error in shader program link: info: cannot find a matched output for input v_texcoordNC0
cannot find a matched output for input v_texcoordNC1
cannot find a matched output for input v_texcoordNC2
cannot find a matched output for input v_texcoordNC3
fs: postshader
//Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions.
//Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other).
// Awas ngelag! :u
//======================================================================================================================================================================
//SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res
//================
#define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below
//================
#define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering
#define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics
//================
#define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242
//================
//SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing
//================
#define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default
#define value 0.98 //Default: 7.5 /higher = more visible effect
//================
#define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate
#define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect
//================
//UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest"
//Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically
//================
#define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below
#define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details
//================
#define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution
#define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness
//================
//OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon
//================
#define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/
#define KIMOCHI 1 //Senpai!
#define samples 3 //Default: 4 /higher = more glow, worse performance
#define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality
#define Bpower 1.0 //Default: 1.0 /amount of bloom mixed
//================
#define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o
#define Cpower 0.69 //Default: 0.5 /strenght of the effect
//================
#define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects
#define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above
//================
#define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest shader pack
#define th 0.10 //D |
| PES 2014 |
v1.18.1 |
2025-02-17 |
2 |
Error in shader program link: info: L0001 The fragment floating-point variable u_texelDelta does not match the u_texelDelta variable declared in earlier shader stages.
The precision does not match.
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 = vec |
| NARUTO: Ultimate Ninja Heroes |
v1.17.1-980-gabaea0197b |
2025-02-17 |
1 |
Error in shader program link: info: (unknown reason)
fs: 00180000:0600d400 TexAlpha StenToAlphaDual Sten0 AlphaTest >
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00180000:0600d400 TexAlpha StenToAlphaDual Sten0 AlphaTest >
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
in lowp vec4 v_color0;
in mediump float v_fogdepth;
int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); }
out vec4 fragColor0;
out vec4 fragColor1;
void main() {
vec4 v = v_color0;
if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD;
fragColor0 = vec4(v.rgb, 0.0);
fragColor1 = vec4(0.0, 0.0, 0.0, v.a);
}
vs: 00000000:00000120 HWX Cull
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define gl_VertexIndex gl_VertexID
#define lowp
#define mediump
#define highp
#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;
if (u_depthRange.y - u_depthRange.x >= 1.0) {
gl_ClipDistance[0] = outPos.w + outPos.z;
} else if (u_depthRange.x + u_depthRange.y <= 65534.0) {
gl_ClipDistance[0] = outPos.w - outPos.z;
} else {
gl_ClipDistance[0] = 0.0;
}
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[1] = projZ * outPos.w + outPos.w + 0.000001;
gl_Position = outPos;
}
|
| NARUTO: Ultimate Ninja Heroes |
v1.17.1-980-gabaea0197b |
2025-02-17 |
1 |
Error in shader program link: info: (unknown reason)
fs: 00180000:0a00d400 TexAlpha StenToAlphaDual Sten1 AlphaTest >
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00180000:0a00d400 TexAlpha StenToAlphaDual Sten1 AlphaTest >
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
in lowp vec4 v_color0;
in mediump float v_fogdepth;
int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); }
out vec4 fragColor0;
out vec4 fragColor1;
void main() {
vec4 v = v_color0;
if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD;
fragColor0 = vec4(v.rgb, 1.0);
fragColor1 = vec4(0.0, 0.0, 0.0, v.a);
}
vs: 00000000:00000120 HWX Cull
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define gl_VertexIndex gl_VertexID
#define lowp
#define mediump
#define highp
#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;
if (u_depthRange.y - u_depthRange.x >= 1.0) {
gl_ClipDistance[0] = outPos.w + outPos.z;
} else if (u_depthRange.x + u_depthRange.y <= 65534.0) {
gl_ClipDistance[0] = outPos.w - outPos.z;
} else {
gl_ClipDistance[0] = 0.0;
}
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[1] = projZ * outPos.w + outPos.w + 0.000001;
gl_Position = outPos;
}
|
| NARUTO: Ultimate Ninja Heroes |
v1.17.1-980-gabaea0197b |
2025-02-17 |
1 |
Error in shader program link: info: (unknown reason)
fs: 00190000:0000d400 TexAlpha AlphaTest > TestDiscardToZero
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00190000:0000d400 TexAlpha AlphaTest > TestDiscardToZero
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
in lowp vec4 v_color0;
in mediump float v_fogdepth;
int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); }
out vec4 fragColor0;
void main() {
vec4 v = v_color0;
if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) v.a = 0.0;
fragColor0 = v;
}
vs: 00000000:00000002 THR
#version 400
// Driver: Intel(R) HD Graphics - GLSL 400
#define gl_VertexIndex gl_VertexID
#define lowp
#define mediump
#define highp
#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;
}
|
| eFootball PC - V. |
v1.18.1 |
2025-02-16 |
6 |
Error in shader program link: info: (unknown reason)
fs: postshader
#ifdef GL_ES
precision mediump float;
#endif
/*
Hyllian's 5xBR v3.5a Shader
Copyright (C) 2011 Hyllian/Jararaca - [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.
*/
#ifdef GL_ES
precision mediump float;
precision mediump int;
#endif
uniform sampler2D sampler0;
uniform vec2 u_texelDelta;
uniform vec2 u_pixelDelta;
varying vec2 v_texcoord0;
const float coef = 2.0;
const vec3 rgbw = vec3(16.163, 23.351, 8.4772);
const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 );
const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 );
const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 );
const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 );
const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 );
const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 );
vec4 df(vec4 A, vec4 B) {
return abs(A-B);
}
vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) {
return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h));
}
void main(){
bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x);
vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz;
// Let's skip the whole scaling if output size smaller than 1.6x of input size
if (upscale) {
bvec4 edr, edr_left, edr_up, px; // px = pixel, edr = edge detection rule
bvec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up;
bvec4 nc; // new_color
bvec4 fx, fx_left, fx_up; // inequations of straight lines.
vec2 pS = 1.0 / u_texelDelta.xy;
vec2 fp = fract(v_texcoord0.xy*pS.xy);
vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy;
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 = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz;
vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz;
vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz;
vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz;
vec3 E = texture2D(sampler0, TexCoord_0 ).xyz;
vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz;
vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz;
vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz;
vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz;
vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz;
vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz;
vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz;
vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz;
vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz;
vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz;
vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz;
vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz;
vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz;
vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz;
vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz;
vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz;
vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
vec4 d = vec4(b.y, b.z, b.w, b.x);
vec4 e = vec4(dot(E,rgbw));
vec4 f = vec4(b.w, b.x, b.y, b.z);
vec4 g = vec4(c.z, c.w, c.x, c.y);
vec4 h = vec |
| MLB 11 The Show™ |
v1.11.3 |
2025-02-16 |
1 |
Error in shader program link: info: Link failed because of missing fragment shader.
fs: thin3d
vs: thin3d
#version 310 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;
}
|
| EA-Sports FC PC-V |
v1.6.3 |
2026-02-10 |
3 |
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;
}
|
| Dragon Ball Z Shin Budokai |
v1.6.3 |
2025-02-15 |
1 |
Error in shader program link: info: Link failed because of missing fragment shader.
fs: 00000000:00000000
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
in vec4 v_color0;
inout vec4 fragColor0;
void main() {
vec4 v = v_color0 ;
fragColor0 = v;
}
vs: 00000000:00000108 HWX C
#version 300 es
precision highp float;
in vec3 position;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
v_color0 = color0;
}
|
| eFootball 2025 by MP |
v1.18.1 |
2025-02-12 |
2 |
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 PES 2021 T. Bendezu "C19" |
v1.6.3 |
2025-02-26 |
2 |
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: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);
}
|
| MONSTER HUNTER PORTABLE 3rd |
v1.18.1 |
2025-02-12 |
1 |
Error in shader program link: info: L0001 The fragment floating-point variable u_texelDelta does not match the vertex variable u_texelDelta.
The precision does not match.
fs: postshader
#version 320 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_Fr |
| eFootball Chelito 19 |
v1.11.3 |
2025-02-10 |
1 |
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;
}
|
| God of War: Chains of Olympus |
v1.6.3 |
2025-02-09 |
1 |
Error in shader program link: info: Link failed because of missing shader.
fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
in vec4 v_color0;
in 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;
vec4 v = vec4(t.rgb * p.rgb, p.a) + s;
v.rgb = v.rgb * 2.0;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01330000:00000f1d HWX C T N LM Fog RevN Tex Light: 0: c:0 t:0 1: c:0 t:0 MatUp:3
#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 vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out mediump vec3 v_texcoord;
out mediump float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = 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 * color0 + 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 * color0.rgb) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse);
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * color0.rgb) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = vec3(0.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| eFootball PES 2024 "SN3" |
v1.6.3 |
2025-02-08 |
1 |
Error in shader program link: info: Link failed because of missing fragment shader.
fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
flat in vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = 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 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 = color0;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
}
|
| eFootball Chelito 19 |
v1.13.2 |
2025-02-18 |
2 |
Error in shader program link: info: (unknown reason)
fs: 00000000:00200000 Fog
#version 320 es
#extension GL_ARM_shader_framebuffer_fetch : require
// Mali-G57 MC2 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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:0000012c HWX C Fog Cull
#version 320 es
// Mali-G57 MC2 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
in vec3 position;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
uniform highp 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 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 = vec3(0.0, 0.0, 1.0);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
v_color0 = color0;
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
if (u_cullRangeMin.w <= 0.0) {
if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
gl_Position = outPos;
}
|
| eFootball Chelito 19 |
v1.13.2 |
2025-02-18 |
3 |
Error in shader program link: info: (unknown reason)
fs: 00000000:00200000 Fog
#version 320 es
#extension GL_ARM_shader_framebuffer_fetch : require
// Mali-G57 MC2 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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:0000012c HWX C Fog Cull
#version 320 es
// Mali-G57 MC2 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
in vec3 position;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
uniform highp 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 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 = vec3(0.0, 0.0, 1.0);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
v_color0 = color0;
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
if (u_cullRangeMin.w <= 0.0) {
if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
gl_Position = outPos;
}
|
| Burnout Legends |
v1.18.1 |
2025-02-22 |
4 |
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 angle = ((v_texcoord0 * v_texcoord1) - vec2(0.25)) * 6.283185482025146484375;
float yfactor = (16.0 + sin(angle.y)) * 0.0588235296308994293212890625;
float xfactor = (4.0 + sin(angle.x)) * 0.20000000298023223876953125;
vec2 centerCoord = floor(v_texcoord0 * v_texcoord1) + vec2(0.5);
vec3 colour = pow(texture(sampler0, u_texelDelta * centerCoord).xyz, vec3(2.21000003814697265625));
colour = clamp(colour, vec3(0.0), vec3(1.0));
colour = pow(mat3(vec3(0.920000016689300537109375, 0.0350000001490116119384765625, 0.00999999977648258209228515625), vec3(0.23999999463558197021484375, 0.795000016689300537109375, 0.014999999664723873138427734375), vec3(-0.1599999964237213134765625, 0.17000000178813934326171875, 0.97500002384185791015625)) * colour, vec3(0.4545454680919647216796875));
colour *= (yfactor * xfactor);
_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;
}
|
| eFootball Play-C |
v1.11.3 |
2025-09-18 |
2 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: thin3d
vs: thin3d
#version 320 es
#if __VERSION__ >= 130
#define attribute in
#define varying out
#endif
attribute vec3 Position;
attribute vec4 Color0;
attribute vec2 TexCoord0;
varying vec4 oColor0;
varying vec2 oTexCoord0;
uniform mat4 WorldViewProj;
void main() {
gl_Position = WorldViewProj * vec4(Position, 1.0);
oColor0 = Color0;
oTexCoord0 = TexCoord0;
}
|
| eFootball Chelito 19 |
v1.6.3 |
2025-02-03 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000:0000001c C Fog Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
v_fogdepth = position.w;
gl_Position = u_proj * vec4(position.xyz, 1.0);
}
|
| eFootball Play-C |
v1.6.3 |
2025-05-03 |
2 |
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_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
flat in vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 40000000:00000914 HWX T Fog Tex Flat
#version 300 es
precision highp float;
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
flat out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
out mediump float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
v_color0 = u_matambientalpha;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| EA-Sports FC PC-V |
v1.6.3 |
2025-11-13 |
3 |
Error in shader program link: info: Link Error: Vertex shader is missing.
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 highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 40000000:00000914 HWX T Fog Tex Flat
#version 300 es
precision highp float;
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
flat out lowp vec4 v_color0;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
v_color0 = u_matambientalpha;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| X-Men Origins: Wolverine |
v1.18.1 |
2025-01-31 |
3 |
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 |
| Formula One 06 |
v1.18.1 |
2025-01-29 |
2 |
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 |
| DRAGON BALL Z SHIN BUDOKAI ANOTHER ROAD |
v1.9.0 |
2025-01-28 |
1 |
Error in shader program link: info: (unknown reason)
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;
}
|
| GTA: Liberty City Stories |
v1.5.4-956-ga3bbe8791 |
2025-01-27 |
1 |
Error in shader program link: info: Link failed because of missing shader.
fs: 00000000:0000d000 AlphaTest >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D testtex;
in vec4 v_color0;
inout vec4 fragColor0;
void main() {
vec4 v = v_color0 ;
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
fragColor0 = v;
}
vs: 00000000:00000b08 HWX C T N
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
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;
}
|
| GTA: Liberty City Stories |
v1.5.4-956-ga3bbe8791 |
2025-02-06 |
2 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00000000:00000082 Tex TClamp TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 00000000:00000012 THR Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| eFootball PC - V. |
v1.6.3 |
2026-06-29 |
2 |
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_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
flat in vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 40000000: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 PES 2024 "SNE" |
v1.6.3 |
2025-01-24 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000: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.2 |
2025-01-22 |
1 |
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;
}
|
| グランツーリスモ® |
v1.18.1 |
2025-01-22 |
2 |
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 2025 By Komo Valeri |
v1.10.3 |
2025-01-22 |
4 |
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 2025 By Komo Valeri |
v1.18.1 |
2025-01-22 |
2 |
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 Play-C |
v1.6.3 |
2025-01-25 |
2 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00200022 Tex TexAlpha Fog TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000:0000091c HWX C T Fog Tex
#version 300 es
precision highp float;
in vec3 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
v_color0 = color0;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| Sonic Rivals™ |
v1.6.3 |
2025-01-21 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:0020f822 Tex TexAlpha LM 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;
in vec3 v_color1;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t + s;
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000:00000055 LM Fog Tex TexProjPos
#version 300 es
precision highp float;
in vec4 position;
in vec3 texcoord;
in lowp vec4 color0;
in lowp vec3 color1;
uniform mat4 u_proj;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
v_texcoord = texcoord;
v_color0 = color0;
v_color1 = color1;
v_fogdepth = position.w;
gl_Position = u_proj * vec4(position.xyz, 1.0);
}
|
| GTA: Liberty City Stories |
v1.6.3-432-gfd6c3145d |
2025-01-20 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00000002 Tex TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in 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: 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-432-gfd6c3145d |
2025-01-20 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:00000002 Tex TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in 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: 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);
}
|
| GTA: Liberty City Stories |
v1.6.3-432-gfd6c3145d |
2025-01-20 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00010000: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) v.a = 0.0;
fragColor0 = v;
}
vs: 00000000:0000001a THR C Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out 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);
}
|
| Manhunt 2® |
v1.11.3 |
2025-01-19 |
2 |
Error in shader program link: info: Fragment info
-------------
0(88) : error C7011: implicit cast from "int" to "uint"
0(88) : error C7011: implicit cast from "int" to "uint"
0(88) : error C7011: implicit cast from "int" to "uint"
0(86) : error C7011: implicit cast from "int" to "uint"
0(86) : error C7011: implicit cast from "int" to "uint"
0(86) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(81) : error C7011: implicit cast from "int" to "uint"
0(81) : error C7011: implicit cast from "int" to "uint"
0(81) : error C7011: implicit cast from "int" to "uint"
0(76) : error C7011: implicit cast from "int" to "uint"
0(76) : error C7011: implicit cast from "int" to "uint"
0(76) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(69) : error C7011: implicit cast from "int" to "uint"
0(69) : error C7011: implicit cast from "int" to "uint"
0(69) : error C7011: implicit cast from "int" to "uint"
0(64) : error C7011: implicit cast from "int" to "uint"
0(64) : error C7011: implicit cast from "int" to "uint"
0(64) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(57) : error C7011: implicit cast from "int" to "uint"
0(57) : error C7011: implicit cast from "int" to "uint"
0(57) : error C7011: implicit cast from "int" to "uint"
0(52) : error C7011: implicit cast from "int" to "uint"
0(52) : error C7011: implicit cast from "int" to "uint"
0(50) : error C7011: implicit cast from "int" to "uint"
0(50) : error C7011: implicit cast from "int" to "uint"
0(48) : error C7011: implicit cast from "int" to "uint"
0(48) : error C7011: implicit cast from "int" to "uint"
0(45) : error C7011: implicit cast from "int" to "uint"
0(45) : error C7011: implicit cast from "int" to "uint"
0(40) : error C7011: implicit cast from "int" to "uint"
0(39) : error C7011: implicit cast from "int" to "uint"
0(39) : error C7011: implicit cast from "int" to "uint"
0(38) : error C7011: implicit cast from "int" to "uint"
0(25) : error C7011: implicit cast from "int" to "uint"
fs: 00002a82:000000ce Tex Depal TClamp ReplaceBlend_2A:10_B:10_Eq:0 TFuncRepl
#version 330
#extension GL_EXT_gpu_shader4 : enable
// Quadro NVS 160M/PCIe/SSE2 - GLSL 330
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
uniform sampler2D tex;
uniform vec3 u_blendFixA;
uniform vec3 u_blendFixB;
uniform vec4 u_texclamp;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y));
vec2 uv = fixedcoord.xy;
vec2 uv_round;
vec2 tsize = vec2(textureSize(tex, 0));
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShi |
| Manhunt 2® |
v1.11.3 |
2025-01-19 |
2 |
Error in shader program link: info: Fragment info
-------------
0(86) : error C7011: implicit cast from "int" to "uint"
0(86) : error C7011: implicit cast from "int" to "uint"
0(86) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(84) : error C7011: implicit cast from "int" to "uint"
0(82) : error C7011: implicit cast from "int" to "uint"
0(82) : error C7011: implicit cast from "int" to "uint"
0(82) : error C7011: implicit cast from "int" to "uint"
0(79) : error C7011: implicit cast from "int" to "uint"
0(79) : error C7011: implicit cast from "int" to "uint"
0(79) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(74) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(72) : error C7011: implicit cast from "int" to "uint"
0(70) : error C7011: implicit cast from "int" to "uint"
0(70) : error C7011: implicit cast from "int" to "uint"
0(70) : error C7011: implicit cast from "int" to "uint"
0(67) : error C7011: implicit cast from "int" to "uint"
0(67) : error C7011: implicit cast from "int" to "uint"
0(67) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(62) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(60) : error C7011: implicit cast from "int" to "uint"
0(58) : error C7011: implicit cast from "int" to "uint"
0(58) : error C7011: implicit cast from "int" to "uint"
0(58) : error C7011: implicit cast from "int" to "uint"
0(55) : error C7011: implicit cast from "int" to "uint"
0(55) : error C7011: implicit cast from "int" to "uint"
0(55) : error C7011: implicit cast from "int" to "uint"
0(50) : error C7011: implicit cast from "int" to "uint"
0(50) : error C7011: implicit cast from "int" to "uint"
0(48) : error C7011: implicit cast from "int" to "uint"
0(48) : error C7011: implicit cast from "int" to "uint"
0(46) : error C7011: implicit cast from "int" to "uint"
0(46) : error C7011: implicit cast from "int" to "uint"
0(43) : error C7011: implicit cast from "int" to "uint"
0(43) : error C7011: implicit cast from "int" to "uint"
0(38) : error C7011: implicit cast from "int" to "uint"
0(37) : error C7011: implicit cast from "int" to "uint"
0(37) : error C7011: implicit cast from "int" to "uint"
0(36) : error C7011: implicit cast from "int" to "uint"
0(23) : error C7011: implicit cast from "int" to "uint"
fs: 00000000:000000ce Tex Depal TClamp TFuncRepl
#version 330
#extension GL_EXT_gpu_shader4 : enable
// Quadro NVS 160M/PCIe/SSE2 - GLSL 330
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
uniform sampler2D tex;
uniform vec4 u_texclamp;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y));
vec2 uv = fixedcoord.xy;
vec2 uv_round;
vec2 tsize = vec2(textureSize(tex, 0));
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShift = (u_depal_mask_shift_off_fmt >> 8) & 0xFFU;
uint depalOffset = ((u_depal_ma |
| eFootball Chelito 19 |
v1.6.2 |
2025-01-19 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00004000:00000000 Flat
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
flat in vec4 v_color0;
inout vec4 fragColor0;
void main() {
vec4 v = v_color0 ;
fragColor0 = v;
}
vs: 40000000:00000100 HWX Flat
#version 300 es
precision highp float;
in vec3 position;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
flat out lowp vec4 v_color0;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
v_color0 = u_matambientalpha;
}
|
| eFootball Chelito 19 |
v1.6.3 |
2025-01-19 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00004000:00000002 Tex Flat TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
flat in vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 40000000:00000012 THR Tex Flat
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
flat out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| eFootball Chelito 19 |
v1.6.3 |
2025-01-18 |
1 |
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 Chelito 19 |
v1.6.3 |
2025-02-03 |
2 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:0001d000 AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D testtex;
in vec4 v_color0;
inout vec4 fragColor0;
void main() {
vec4 v = v_color0 ;
if (v.a < 0.002) discard;
fragColor0 = v;
}
vs: 00000000:0000000a THR C
#version 300 es
precision highp float;
in vec4 position;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
void main() {
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| Pro Evolution Soccer 2011 |
v1.7.4 |
2025-01-17 |
2 |
Error in shader program link: info: Link Error: Fragment shader was not successfully compiled.
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/m |
| Gran Turismo® |
v1.18.1 |
2025-01-16 |
2 |
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 |
| Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
1 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:01a0d022 Tex TexAlpha Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest >
#version 100
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
uniform float u_stencilReplaceValue;
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;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
gl_FragColor = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (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 mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
vec4 outPos = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
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;
lightSum0.rgb += (u_lightambient1 * color0.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;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
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 |
| Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
1 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:01a00002 Tex Fog 2x StenToAlpha StenUniform TFuncMod
#version 100
precision lowp float;
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
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 = vec4(t.rgb * p.rgb, p.a);
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (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 mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
vec4 outPos = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
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;
lightSum0.rgb += (u_lightambient1 * color0.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;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
gl_Position = outP |
| Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
1 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:00a00002 Tex Fog 2x 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 = vec4(t.rgb * p.rgb, p.a);
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (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 mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
vec4 outPos = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
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;
lightSum0.rgb += (u_lightambient1 * color0.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;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
gl_Position = outPos;
}
|
| eFootball Chelito 19 |
v1.17.1 |
2025-01-16 |
2 |
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)) |
| MONSTER HUNTER FREEDOM UNITE™ |
v1.18.1 |
2025-01-15 |
3 |
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)) |
| Sonic Rivals™ |
v1.6.3 |
2025-01-15 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:0020f822 Tex TexAlpha LM 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;
in vec3 v_color1;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t + s;
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 00000000:0000005d C LM Fog Tex TexProjPos
#version 300 es
precision highp float;
in vec4 position;
in vec3 texcoord;
in lowp vec4 color0;
in lowp vec3 color1;
uniform mat4 u_proj;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
v_texcoord = texcoord;
v_color0 = color0;
v_color1 = color1;
v_fogdepth = position.w;
gl_Position = u_proj * vec4(position.xyz, 1.0);
}
|
| Sonic Rivals™ |
v1.6.3 |
2025-01-15 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:0000f822 Tex TexAlpha LM 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;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t + s;
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
fragColor0 = v;
}
vs: 00000000:00000011 LM Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
in lowp vec3 color1;
uniform mat4 u_proj;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
v_color1 = color1;
gl_Position = u_proj * vec4(position.xyz, 1.0);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-13 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:0d000022 Tex TexAlpha StenToAlpha StenKeep 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 = vec4(v.rgb, 0.0);
}
vs: 00000000:00000918 HWX C T 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;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00000002 Tex TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in 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: 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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00017022 Tex TexAlpha TFuncMod AlphaTest0 !=
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:0100d022 Tex TexAlpha StenToAlpha StenUniform TFuncMod AlphaTest >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
uniform float u_stencilReplaceValue;
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 = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 00000000:00000918 HWX C T 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;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00000002 Tex TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in 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: 00000000:00000918 HWX C T 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;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00017022 Tex TexAlpha TFuncMod AlphaTest0 !=
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
fragColor0 = v;
}
vs: 01370010:00000b10 HWX T N Tex Light: 0: c:0 t:0 1: c:1 t:0 MatUp:7
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
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 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;
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = vec3(0.0);
vec3 toLight;
lowp vec3 diffuse;
mediump float ldot;
toLight = u_lightpos0;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
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) );
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00000082 Tex TClamp TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2(mymod(v_texcoord.x, u_texclamp.x), mymod(v_texcoord.y, u_texclamp.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 01370010:003a0b10 HWX T N Tex UVEnv Light: 0: c:0 t:0 1: c:1 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform vec3 u_lightpos3;
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 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;
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = vec3(0.0);
vec3 toLight;
lowp vec3 diffuse;
mediump float ldot;
toLight = u_lightpos0;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
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) );
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 0.0, 1.0);
v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + dot(normalize(u_lightpos2), worldnormal), 1.0 + dot(normalize(u_lightpos3), worldnormal)) * 0.5, 1.0);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00000082 Tex TClamp TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2(mymod(v_texcoord.x, u_texclamp.x), mymod(v_texcoord.y, u_texclamp.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 01370011:003a0b10 HWX T N Tex UVEnv Light: 0: c:1 t:0 1: c:1 t:0 2: c:0 t:0 3: c:0 t:0 MatUp:7
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform vec3 u_lightpos3;
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 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;
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = vec3(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;
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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 0.0, 1.0);
v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + dot(normalize(u_lightpos2), worldnormal), 1.0 + dot(normalize(u_lightpos3), worldnormal)) * 0.5, 1.0);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00017022 Tex TexAlpha TFuncMod AlphaTest0 !=
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
fragColor0 = v;
}
vs: 01370011:00000b10 HWX T N Tex Light: 0: c:1 t:0 1: c:1 t:0 MatUp:7
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
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 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;
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = vec3(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;
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;
ldot = max(dot(toLight, worldnormal), 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) );
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00000382 Tex TClampST TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2(clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z), clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 00000000:00000012 THR Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out 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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00002a82:00000022 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec3 u_blendFixA;
uniform vec3 u_blendFixB;
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;
v.rgb = v.rgb * u_blendFixA;
fragColor0 = v;
}
vs: 00000000:00000918 HWX C T 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;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00002a82:00000482 Tex TexOffs TClamp ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod
#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 vec4 u_texclamp;
uniform vec2 u_texclampoff;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2((mymod(v_texcoord.x, u_texclamp.x) + u_texclampoff.x), (mymod(v_texcoord.y, u_texclamp.y) + u_texclampoff.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = v.rgb * u_blendFixA;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
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:00000918 HWX C T 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;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00800382 Tex 2x TClampST TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2(clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z), clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = v.rgb * 2.0;
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);
}
|
| Midnight Club 3: DUB Edition |
v1.6.3 |
2025-01-12 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:00800082 Tex 2x TClamp TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
float mymod(float a, float b) { return a - b * floor(a / b); }
void main() {
vec2 fixedcoord = vec2(mymod(v_texcoord.x, u_texclamp.x), mymod(v_texcoord.y, u_texclamp.y));
vec4 t = texture(tex, fixedcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = v.rgb * 2.0;
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);
}
|
| Dragon Ball Z: Tenkaichi Tag Team |
v1.6.3 |
2025-01-11 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:0081d002 Tex 2x TFuncMod AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in 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);
if (v.a < 0.002) discard;
v.rgb = v.rgb * 2.0;
fragColor0 = v;
}
vs: 00000000:0000001a THR C Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out 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-01-09 |
1 |
Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program
fs: 00004000:00000022 Tex TexAlpha Flat 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: 40000000:00000910 HWX T 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;
varying lowp vec4 v_color0;
varying 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);
}
|
| eFootball PES 2020 "C19" |
v1.7.1 |
2025-01-06 |
2 |
Error in shader program link: info: Link Error: Fragment shader was not successfully compiled.
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/m |
| eFootball PES 2024 "SNE" |
v1.6.3 |
2025-01-04 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00004000:00000002 Tex Flat TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
flat in vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
fragColor0 = v;
}
vs: 40000000:00000012 THR Tex Flat
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
flat out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| Grand Theft Auto: Vice City Stories |
v1.6.3 |
2025-07-11 |
2 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00000000:000000a2 Tex TexAlpha TClamp TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform vec4 u_texclamp;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec2 fixedcoord = vec2(mod(v_texcoord.x, u_texclamp.x), mod(v_texcoord.y, u_texclamp.y));
vec4 t = texture(tex, fixedcoord.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 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 PES 2024 "SNE" |
v1.6.3 |
2025-01-02 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00004000:0021d022 Tex TexAlpha Fog 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;
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;
if (v.a < 0.002) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 40000000:00000914 HWX T Fog Tex Flat
#version 300 es
precision highp float;
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
flat out lowp vec4 v_color0;
out 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 PES 2024 "SNE" |
v1.6.3 |
2025-01-02 |
1 |
Error in shader program link: info: Link failed because of missing fragment shader.
fs: 00000000:00200002 Tex Fog TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = 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: 01770000:00000b14 HWX T N Fog Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:7
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out 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);
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos2;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| Sonic Rivals™ |
v1.6.3 |
2025-01-01 |
2 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:0000f822 Tex TexAlpha LM 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;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t + s;
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
fragColor0 = v;
}
vs: 00000000:00000019 C LM Tex
#version 300 es
precision highp float;
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
in lowp vec3 color1;
uniform mat4 u_proj;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
v_color1 = color1;
gl_Position = u_proj * vec4(position.xyz, 1.0);
}
|
| GTA: Liberty City Stories |
v1.6.3 |
2024-12-31 |
1 |
Error in shader program link: info: Link failed because of missing fragment shader.
fs: 00000000:00200002 Tex Fog TFuncMod
#version 300 es
#extension GL_ARM_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = 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:00000b14 HWX T N Fog Tex
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform 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 = u_matambientalpha;
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| Grand Theft Auto: Vice City Stories |
v1.6.3 |
2024-12-30 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00000000:0d000002 Tex StenToAlpha StenKeep 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 = vec4(v.rgb, 0.0);
}
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);
}
|
| eFootball Play-C |
v1.6.3 |
2024-12-29 |
1 |
Error in shader program link: info: Link failed because of missing vertex shader.
fs: 00004000:0021d022 Tex TexAlpha Fog 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;
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;
if (v.a < 0.002) discard;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 40000000:00000014 Fog Tex Flat
#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;
flat 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 Play-C |
v1.6.3 |
2025-11-02 |
2 |
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);
}
|
| God of War®: Ghost of Sparta |
v1.18.1 |
2024-12-25 |
1 |
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.980000019073486328125, 0.039999999105930328369140625, 0.00999999977648258209228515625), vec3(0.20000000298023223876953125, 0.795000016689300537109375, 0.00999999977648258209228515625), vec3(-0.180000007152557373046875, 0.16500000655651092529296875, 0.980000019073486328125)) * 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 PC - V. |
v1.6.3 |
2025-08-29 |
3 |
Error in shader program link: info: Link Error: Vertex shader is missing.
fs: 00000000:0001d000 AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D testtex;
in vec4 v_color0;
inout vec4 fragColor0;
void main() {
vec4 v = v_color0 ;
if (v.a < 0.002) discard;
fragColor0 = v;
}
vs: 00000000:0000000a THR C
#version 300 es
precision highp float;
in vec4 position;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
void main() {
v_color0 = color0;
gl_Position = u_proj_through * vec4(position.xyz, 1.0);
}
|
| eFootball Chelito 19 |
v1.6 |
2024-12-22 |
1 |
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);
}
|
| God of War: Chains of Olympus Bahasa Indonesia By Indra Constantine |
v1.6.3 |
2024-12-21 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00200000 Fog
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
in vec4 v_color0;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
inout 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:00000104 HWX Fog
#version 300 es
precision highp float;
in vec3 position;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
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_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| MONSTER HUNTER FREEDOM UNITE™ |
v1.16.6 |
2024-12-20 |
2 |
Error in shader program link: info: Fragment shader(s) failed to link, vertex shader(s) linked.
Fragment Shader not supported by HW
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 |
| Grand Theft Auto: Vice City Stories |
v1.6.2 |
2024-12-19 |
1 |
Error in shader program link: info: L0100 A program cannot be linked unless there are any shaders attached to it
fs: 00000000:00a0d802 Tex LM Fog 2x 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 = vec4(t.rgb * p.rgb, p.a) + s;
float aResult = texture2D(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);
gl_FragColor = v;
}
vs: 03170000:41c00b15 HWX T N LM Fog Tex Bones:8 Light: 0: c:0 t:0 MatUp:7 WScale 1
#version 100
precision highp float;
attribute mediump vec4 w1, w2;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform mat4 u_bone4;
uniform mat4 u_bone5;
uniform mat4 u_bone6;
uniform mat4 u_bone7;
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;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3 + w2.x * u_bone4 + w2.y * u_bone5 + w2.z * u_bone6 + w2.w * u_bone7;
vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.9921875;
vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz;
mediump vec3 skinnednormal = (skinMatrix * vec4(normal, 0.0)).xyz * 1.9921875;
mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 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(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| GOD EATER 2 |
v1.18.1 |
2024-12-18 |
4 |
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)) |
| God of War: Chains of Olympus Bahasa Indonesia By Indra Constantine |
v1.6.3 |
2024-12-18 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:00a00822 Tex TexAlpha LM Fog 2x TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in vec3 v_color1;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t + s;
v.rgb = v.rgb * 2.0;
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
fragColor0 = v;
}
vs: 01710004:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:1 1: c:0 t:0 2: c:0 t:0 MatUp:1
#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 vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse);
toLight = u_lightpos2;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = vec3(0.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| God of War: Chains of Olympus Bahasa Indonesia By Indra Constantine |
v1.6.3 |
2024-12-18 |
1 |
Error in shader program link: info: Link Error: Vertex shader is missing.
Link Error: Fragment shader is missing.
fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
in vec4 v_color0;
in vec3 v_color1;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a) + s;
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 = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01730000:00000f1d HWX C T N LM Fog RevN Tex Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 MatUp:3
#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 vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(-normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + 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 * color0.rgb) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse);
toLight = u_lightpos1;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse1 * color0.rgb) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse);
toLight = u_lightpos2;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse2 * color0.rgb) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = vec3(0.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|
| God of War: Chains of Olympus Bahasa Indonesia By Indra Constantine |
v1.6.3 |
2024-12-18 |
1 |
Error in shader program link: info: Link Error: Fragment shader is missing.
fs: 00000000:01a00802 Tex LM Fog 2x StenToAlpha StenUniform TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
in vec4 v_color0;
in vec3 v_color1;
uniform vec3 u_fogcolor;
in highp float v_fogdepth;
in highp vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 s = vec4(v_color1, 0.0);
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a) + s;
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 = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01110004:00000b1d HWX C T N LM Fog Tex Light: 0: c:0 t:1 MatUp:1
#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 vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
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 highp vec3 v_texcoord;
out highp float v_fogdepth;
void main() {
vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz;
mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz);
vec4 viewPos = u_view * vec4(worldpos, 1.0);
gl_Position = u_proj * viewPos;
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = vec3(0.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
}
|