Recent logs - Error in shader program link: info: %s fs: %s %s vs: %s %s

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

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

Game title Version Latest Report Message
eFootball Chelito 19 v1.6.3 2025-05-16 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in 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: 01770000:00000b10 HWX T N 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; 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); 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); }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10184000:0d207002 Tex Fog Flat FragUber StenToAlpha StenKeep TFuncMod AlphaTest != #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0d207002 Tex Fog Flat FragUber StenToAlpha StenKeep TFuncMod AlphaTest != uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; flat in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); } out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) == int(u_alphacolorref >> 0x18u)) DISCARD; fragColor0 = vec4(v.rgb, 0.0); } vs: 40000000:00000f28 HWX C T N RevN Flat Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00000f28 HWX C T N RevN Flat Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(-normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10980000:0000038e Tex FragUber Depal TClampST TFuncRepl #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10980000:0000038e Tex FragUber Depal TClampST TFuncRepl precision highp int; uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; uniform sampler2D pal; uniform uint u_depal_mask_shift_off_fmt; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec2 uv = fixedcoord.xy; vec2 uv_round; vec2 tsize = vec2(textureSize(tex, 0).xy); vec2 fraction; bool bilinear = (u_depal_mask_shift_off_fmt >> 0x2Fu) != 0x0u; 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 >> 0x8u) & 0xFFu; uint depalOffset = ((u_depal_mask_shift_off_fmt >> 0x10u) & 0xFFu) << 0x4u; uint depalFmt = (u_depal_mask_shift_off_fmt >> 0x18u) & 0x3u; uvec4 col; uint index0; uint index1; uint index2; uint index3; switch (int(depalFmt)) { case 0: col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0); index0 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0); index1 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0); index2 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0); index3 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); } break; case 1: col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index0 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index1 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index2 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index3 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); } break; case 2: col = uvec4(t.rgba * 15.99); index0 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 15.99); index1 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t2.rgba * 15.99); index2 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t3.rgba * 15.99); index3 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); } break; case 3: col = uvec4(t.rgba * 255.99); index0 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 255.99); index1 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t2.rgba * 255.99); index2 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t3.rgba * 255.99); index3 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); } break; }; index0 = ((index0 >> depalShift) & depalMask) | depalOffset; t = texelFetch(pal, ivec2(index0, 0), 0); if (bilinear && !(index0 == i
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182992:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:2 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182992:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:2 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182992:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:2 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182992:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:2 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000012 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000012 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncAdd 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:00000920 HWX T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000920 HWX T Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182982:00000000 FragUber ReplaceBlend_2A:6_B:10_Eq:0 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182982:00000000 FragUber ReplaceBlend_2A:6_B:10_Eq:0 uniform vec3 u_blendFixB; in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:01000012 Tex FragUber StenToAlpha StenUniform TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:01000012 Tex FragUber StenToAlpha StenUniform TFuncAdd uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb *= u_texNoAlphaMul.y; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 00000000:00000020 Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000020 Cull in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10191d83:0000d002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > TestDiscardToZero #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10191d83:0000d002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > TestDiscardToZero uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; 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() { 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); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) v.a = 0.0; v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: postshader #version 320 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; in vec4 v_texcoord1; in vec4 v_texcoord4; in vec4 v_texcoord0; in vec4 v_texcoord5; in vec4 v_texcoord2; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; in vec4 v_texcoord3; in vec4 v_texcoord6; float contrast4(float x) { return clamp(0.865999996662139892578125 + (1.25 * (x - 0.865999996662139892578125)), 0.0500000007450580596923828125, 1.730000019073486328125); } void main() { vec3 c10 = texture(sampler0, v_texcoord1.xy).xyz; vec3 c01 = texture(sampler0, v_texcoord4.xy).xyz; vec3 c11 = texture(sampler0, v_texcoord0.xy).xyz; vec3 c21 = texture(sampler0, v_texcoord5.xy).xyz; vec3 c12 = texture(sampler0, v_texcoord2.xy).xyz; vec3 dt = vec3(1.0); float k1 = dot(abs(c01 - c21), dt); float k2 = dot(abs(c10 - c12), dt); vec3 color = ((((c10 + c12) * k1) + ((c01 + c21) * k2)) + (c11 * 0.001000000047497451305389404296875)) / vec3((2.0 * (k1 + k2)) + 0.001000000047497451305389404296875); float x = sqrt(dot(color, color)); color.x = pow(color.x + 0.001000000047497451305389404296875, 1.2000000476837158203125); color.y = pow(color.y + 0.001000000047497451305389404296875, 1.2000000476837158203125); color.z = pow(color.z + 0.001000000047497451305389404296875, 1.2000000476837158203125); float param = x; vec3 _142 = (normalize(color * vec3(1.0)) * contrast4(param)) * 1.0; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.x = _142.x; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.y = _142.y; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.z = _142.z; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.w = 1.0; } vs: postshader #version 320 es uniform mediump vec2 u_texelDelta; in mediump vec4 a_position; out mediump vec4 v_texcoord0; in mediump vec2 a_texcoord0; out mediump vec4 v_texcoord1; out mediump vec4 v_texcoord2; out mediump vec4 v_texcoord4; out mediump vec4 v_texcoord5; out mediump vec4 v_texcoord3; out mediump vec4 v_texcoord6; mediump float scaleoffset; void main() { scaleoffset = 0.800000011920928955078125; mediump float x = u_texelDelta.x * scaleoffset; mediump float y = u_texelDelta.y * scaleoffset; gl_Position = a_position; v_texcoord0 = a_texcoord0.xyxy; v_texcoord1 = v_texcoord0; v_texcoord2 = v_texcoord0; v_texcoord4 = v_texcoord0; v_texcoord5 = v_texcoord0; v_texcoord1.y -= y; v_texcoord2.y += y; v_texcoord4.x -= x; v_texcoord5.x += x; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: postshader #version 320 es precision mediump float; precision highp int; layout(binding = 0) uniform mediump sampler2D sampler0; in vec2 v_texcoord0; out vec4 _RESERVED_IDENTIFIER_FIXUP_gl_FragColor; void main() { vec3 screen = pow(texture(sampler0, v_texcoord0).xyz, vec3(2.21000003814697265625)); 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, 1.0); } vs: postshader #version 320 es out mediump vec2 v_texcoord0; in mediump vec2 a_texcoord0; in mediump vec4 a_position; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0).zyxw * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000000 FragUber ReplaceBlend_3A:6_B:7_Eq:0 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000000 FragUber ReplaceBlend_3A:6_B:7_Eq:0 in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 181c2806:00000000 FragUber WriteMask ReplaceBlend_6A:0_B:10_Eq:0 (fetch) #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 181c2806:00000000 FragUber WriteMask ReplaceBlend_6A:0_B:10_Eq:0 (fetch) precision highp int; uniform vec3 u_blendFixB; uniform uint u_colorWriteMask; in lowp vec4 v_color0; in mediump float v_fogdepth; inout vec4 fragColor0; void main() { lowp vec4 destColor = fragColor0; vec4 v = v_color0; v.rgb = v.rgb * destColor.rgb + destColor.rgb * u_blendFixB; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 = (v32 & u_colorWriteMask & 0x00FFFFFFu) | (d32 & (~u_colorWriteMask | 0xFF000000u)); fragColor0 = unpackUnorm4x8(v32); } vs: 00000000:00000920 HWX T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000920 HWX T Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - 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:00000002 THR #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:01000012 Tex FragUber StenToAlpha StenUniform TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:01000012 Tex FragUber StenToAlpha StenUniform TFuncAdd uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform float u_stencilReplaceValue; 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb *= u_texNoAlphaMul.y; fragColor0 = vec4(v.rgb, u_stencilReplaceValue); } vs: 00000000:00000920 HWX T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000920 HWX T Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10980000:00000002 Tex FragUber Depal TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10980000:00000002 Tex FragUber Depal TFuncMod precision highp int; uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform sampler2D pal; uniform uint u_depal_mask_shift_off_fmt; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec2 uv = v_texcoord.xy; vec2 uv_round; vec2 tsize = vec2(textureSize(tex, 0).xy); vec2 fraction; bool bilinear = (u_depal_mask_shift_off_fmt >> 0x2Fu) != 0x0u; 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 >> 0x8u) & 0xFFu; uint depalOffset = ((u_depal_mask_shift_off_fmt >> 0x10u) & 0xFFu) << 0x4u; uint depalFmt = (u_depal_mask_shift_off_fmt >> 0x18u) & 0x3u; uvec4 col; uint index0; uint index1; uint index2; uint index3; switch (int(depalFmt)) { case 0: col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0); index0 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0); index1 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0); index2 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0); index3 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); } break; case 1: col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index0 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index1 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index2 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index3 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); } break; case 2: col = uvec4(t.rgba * 15.99); index0 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 15.99); index1 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t2.rgba * 15.99); index2 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t3.rgba * 15.99); index3 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); } break; case 3: col = uvec4(t.rgba * 255.99); index0 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 255.99); index1 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t2.rgba * 255.99); index2 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t3.rgba * 255.99); index3 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); } break; }; index0 = ((index0 >> depalShift) & depalMask) | depalOffset; t = texelFetch(pal, ivec2(index0, 0), 0); if (bilinear && !(index0 == index1 && index1 == index2 && index2 == index3)) { index1 = ((index1 >> depalShift) & depalMask) | depalOffset; index2 = ((index2 >> depalShift) & depalMask) | depalOffset; index3 = ((index3 >> depalShift) & depalMask) | depalOffset; t1 = texelFetch(pal,
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:00000012 Tex FragUber TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000012 Tex FragUber TFuncAdd 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 00000000:00000020 Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000020 Cull in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182982:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182982:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10184000:00400000 TexProj Flat FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:00400000 TexProj Flat FragUber flat in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 40000000:00000d28 HWX C T RevN Flat Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00000d28 HWX C T RevN Flat 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; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, -1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:0001d000 FragUber AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d000 FragUber AlphaTest0 > uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 181c0000:00000000 FragUber WriteMask (fetch) #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 181c0000:00000000 FragUber WriteMask (fetch) precision highp int; uniform uint u_colorWriteMask; in lowp vec4 v_color0; in mediump float v_fogdepth; inout vec4 fragColor0; void main() { lowp vec4 destColor = fragColor0; vec4 v = v_color0; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 = (v32 & u_colorWriteMask & 0x00FFFFFFu) | (d32 & (~u_colorWriteMask | 0xFF000000u)); fragColor0 = unpackUnorm4x8(v32); } vs: 00000000:00000920 HWX T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000920 HWX T Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 189c002e:0000038e Tex FragUber Depal WriteMask TClampST ReplaceBlend_6A:0_B:0_Eq:5 TFuncRepl (fetch) #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 189c002e:0000038e Tex FragUber Depal WriteMask TClampST ReplaceBlend_6A:0_B:0_Eq:5 TFuncRepl (fetch) precision highp int; uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; uniform sampler2D pal; uniform uint u_depal_mask_shift_off_fmt; uniform uint u_colorWriteMask; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { lowp vec4 destColor = fragColor0; 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)); vec2 uv = fixedcoord.xy; vec2 uv_round; vec2 tsize = vec2(textureSize(tex, 0).xy); vec2 fraction; bool bilinear = (u_depal_mask_shift_off_fmt >> 0x2Fu) != 0x0u; 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 >> 0x8u) & 0xFFu; uint depalOffset = ((u_depal_mask_shift_off_fmt >> 0x10u) & 0xFFu) << 0x4u; uint depalFmt = (u_depal_mask_shift_off_fmt >> 0x18u) & 0x3u; uvec4 col; uint index0; uint index1; uint index2; uint index3; switch (int(depalFmt)) { case 0: col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0); index0 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0); index1 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0); index2 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0); index3 = (col.b << 0xBu) | (col.g << 0x5u) | (col.r); } break; case 1: col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index0 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index1 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index2 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0)); index3 = (col.a << 0xFu) | (col.b << 0xAu) | (col.g << 0x5u) | (col.r); } break; case 2: col = uvec4(t.rgba * 15.99); index0 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 15.99); index1 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t2.rgba * 15.99); index2 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); col = uvec4(t3.rgba * 15.99); index3 = (col.a << 0xCu) | (col.b << 0x8u) | (col.g << 0x4u) | (col.r); } break; case 3: col = uvec4(t.rgba * 255.99); index0 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); if (bilinear) { col = uvec4(t1.rgba * 255.99); index1 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t2.rgba * 255.99); index2 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r); col = uvec4(t3.rgba * 255.99); index3 = (col.a << 0x18u) | (col.b << 0x10u) | (col.g << 0x8u) | (col.r);
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10184000:0d007002 Tex Flat FragUber StenToAlpha StenKeep TFuncMod AlphaTest != #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0d007002 Tex Flat FragUber StenToAlpha StenKeep TFuncMod AlphaTest != uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; flat 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() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) == int(u_alphacolorref >> 0x18u)) DISCARD; fragColor0 = vec4(v.rgb, 0.0); } vs: 40000000:0000000a THR C Flat #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:0000000a THR C Flat 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; 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 = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 181c2806:00000000 FragUber WriteMask ReplaceBlend_6A:0_B:10_Eq:0 (fetch) #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 181c2806:00000000 FragUber WriteMask ReplaceBlend_6A:0_B:10_Eq:0 (fetch) precision highp int; uniform vec3 u_blendFixB; uniform uint u_colorWriteMask; in lowp vec4 v_color0; in mediump float v_fogdepth; inout vec4 fragColor0; void main() { lowp vec4 destColor = fragColor0; vec4 v = v_color0; v.rgb = v.rgb * destColor.rgb + destColor.rgb * u_blendFixB; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 = (v32 & u_colorWriteMask & 0x00FFFFFFu) | (d32 & (~u_colorWriteMask | 0xFF000000u)); fragColor0 = unpackUnorm4x8(v32); } vs: 00000000:00000002 THR #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:00000012 Tex FragUber TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000012 Tex FragUber TFuncAdd 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 00000000:00000920 HWX T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000920 HWX T Cull in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 181c0000:00000000 FragUber WriteMask (fetch) #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 181c0000:00000000 FragUber WriteMask (fetch) precision highp int; uniform uint u_colorWriteMask; in lowp vec4 v_color0; in mediump float v_fogdepth; inout vec4 fragColor0; void main() { lowp vec4 destColor = fragColor0; vec4 v = v_color0; fragColor0 = v; highp uint v32 = packUnorm4x8(fragColor0); highp uint d32 = packUnorm4x8(destColor); v32 = (v32 & u_colorWriteMask & 0x00FFFFFFu) | (d32 & (~u_colorWriteMask | 0xFF000000u)); fragColor0 = unpackUnorm4x8(v32); } vs: 00000000:00000002 THR #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000382 Tex FragUber TClampST ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000382 Tex FragUber TClampST ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec4 u_texclamp; uniform vec2 u_texclampoff; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec2 fixedcoord = vec2((clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z) + u_texclampoff.x), (clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w) + u_texclampoff.y)); vec4 t = texture(tex, fixedcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:00000012 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncAdd #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:00000012 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncAdd 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 = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:00000020 Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000020 Cull in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:001fd002 Tex FragUber TFuncMod AlphaTest0 > ColorTest0 != #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:001fd002 Tex FragUber TFuncMod AlphaTest0 > ColorTest0 != uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; uvec3 unpackUVec3(highp uint x) { return uvec3(x & 0xFFu, (x >> 0x8u) & 0xFFu, (x >> 0x10u) & 0xFFu); } 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); if (v.a < 0.002) DISCARD; if (v.r < 0.002 && v.g < 0.002 && v.b < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10195d83:0060d002 Tex TexProj Fog Flat FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > TestDiscardToZero #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10195d83:0060d002 Tex TexProj Fog Flat FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > TestDiscardToZero uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; flat in lowp vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); } out vec4 fragColor0; void main() { vec4 t = textureProj(tex, v_texcoord); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) v.a = 0.0; v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 40000000:00010020 TexProjPos UVMtx Flat Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00010020 TexProjPos UVMtx Flat Cull in vec4 position; in highp float fog; in vec3 texcoord; in lowp vec4 color0; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = texcoord; v_color0 = color0; v_fogdepth = fog; vec4 pos = position; vec4 outPos = pos; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182982:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182982:00000002 Tex FragUber ReplaceBlend_2A:6_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform vec3 u_blendFixB; 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 = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:00000000 FragUber #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:00000000 FragUber in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10181d83:0000d002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10181d83:0000d002 Tex FragUber ReplaceBlend_3A:6_B:7_Eq:0 TFuncMod AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; 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() { 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); if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u)) <= int(u_alphacolorref >> 0x18u)) DISCARD; v.rgb = v.rgb * splat3(v.a * 2.0); v.a *= 2.0; fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0001d002 Tex FragUber TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10180000:00000002 Tex FragUber TFuncMod #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - 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) 650 - 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: thin3d #version 320 es #ifdef GL_ES precision mediump float; #endif #ifdef GL_ES precision lowp float; #endif #if __VERSION__ >= 130 #define varying in #define texture2D texture #define gl_FragColor fragColor0 out vec4 fragColor0; #endif varying vec4 oColor0; varying vec2 oTexCoord0; uniform sampler2D Sampler0; void main() { gl_FragColor = texture2D(Sampler0, oTexCoord0) * oColor0; } vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; uniform vec2 TintSaturation; vec3 rgb2hsv(vec3 c) { vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g)); vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r)); float d = q.x - min(q.w, q.y); float e = 1.0e-10; return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x); } vec3 hsv2rgb(vec3 c) { vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0); vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www); return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y); } void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); vec3 hsv = rgb2hsv(Color0.xyz); hsv.x += TintSaturation.x; hsv.y *= TintSaturation.y; oColor0 = vec4(hsv2rgb(hsv), Color0.w); oTexCoord0 = TexCoord0; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10184000:0040001e Tex TexProj Flat FragUber TFuncUnk #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10184000:0040001e Tex TexProj Flat FragUber TFuncUnk uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; flat in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = textureProj(tex, v_texcoord); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = vec4(p.rgb + t.rgb, p.a * t.a); v.rgb *= u_texNoAlphaMul.y; fragColor0 = v; } vs: 40000000:00010d28 HWX C T RevN TexProjPos UVMtx Flat Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 40000000:00010d28 HWX C T RevN TexProjPos UVMtx Flat Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, -1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || 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; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 00000000:00000001 Clear #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000001 Clear in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:00040d28 HWX C T RevN Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00040d28 HWX C T RevN Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, -1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 10182982:00000000 FragUber ReplaceBlend_2A:6_B:10_Eq:0 #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10182982:00000000 FragUber ReplaceBlend_2A:6_B:10_Eq:0 uniform vec3 u_blendFixB; in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; v.rgb = v.rgb * splat3(v.a * 2.0); fragColor0 = v; } vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Adreno (TM) 650 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
Dragon Ball Z: Tenkaichi Tag Team v1.18.1 2025-05-16 Error in shader program link: info:  fs: 00000000:00000001 Clear #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Driver: Adreno (TM) 650 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000001 Clear in lowp vec4 v_color0; in mediump float v_fogdepth; out vec4 fragColor0; void main() { vec4 v = v_color0; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Driver: Adreno (TM) 650 - 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; }
eFootball Chelito 19 v1.6.3 2025-05-15 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:00200002 Tex 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 = 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); gl_FragColor = v; } vs: 00000000:00000014 Fog Tex #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFootball Chelito 19 v1.6.3 2025-05-15 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00004000:0021d022 Tex TexAlpha Fog Flat TFuncMod AlphaTest0 > #version 100 precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; 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; if (v.a < 0.002) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); gl_FragColor = v; } vs: 40000000:00000014 Fog Tex Flat #version 100 precision highp float; attribute vec4 position; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; varying lowp vec4 v_color0; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFootball Asia 2023 v1.18.1 2025-05-15 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 2023 By Shan Channel v1.18.1 2025-05-15 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 Chelito 19 v1.6.3 2025-05-10 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000002 Tex Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = 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); }
FIFA 22 By Tutoriales Bendezu v1.6.3 2025-05-10 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; fragColor0 = v; } vs: 40000000:00000910 HWX T Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
EA-Sports FC PC-V v1.6.3 2025-05-10 Error in shader program link: info: L0100 GLSL allows exactly two attached shaders (one of each type) per program fs: 00000000:0001d000 AlphaTest0 > #version 100 precision lowp float; uniform sampler2D testtex; varying vec4 v_color0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; gl_FragColor = v; } vs: 00000000:0000000a THR C #version 100 precision highp float; attribute vec4 position; attribute lowp vec4 color0; uniform mat4 u_proj_through; varying lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball Euro y Copa America By T. Bendezu v1.18.1 2025-05-09 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.6.3 2025-05-08 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:0001d002 Tex Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
E FOOTBALL ASIA 2021 "By TRMD" v1.10.3 2025-05-07 Error in shader program link: info: cannot find a matched output for input v_texcoordNC0 cannot find a matched output for input v_texcoordNC1 cannot find a matched output for input v_texcoordNC2 cannot find a matched output for input v_texcoordNC3 fs: postshader #ifdef GL_ES precision mediump float; #endif //Note : Recommend to use PPSSPP v1.1.1-183-gb411fc0 or newer for full functionality, there were some bugs in earlier versions. //Note2 : Upscaling, smoothing and sharpening filters are not set to be mixed between each other since the results are pointless(they counter each other). // Awas ngelag! :u //====================================================================================================================================================================== //SMOOTHING FILTERS: //If you love smooth graphics ~ those are also great for downscaling - to do that, you need to use higher rendering res than your display res //================ #define FXAA 1 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #define Gsmoothing 2.5 //Default: 3.5 /increase for smoother(blurry) graphics //================ #define GAUSS_S 0 //ON:1/OFF:0 /simple gauss filtering by Bigpet, slightly different from above /you can find standalone in https://github.com/hrydgard/ppsspp/issues/7242 //================ //SHARPENING FILTERS: //if you need very sharp image, add lots of aliasing //================ #define SHARPEN 0 //ON:1/OFF:0 /a simple sharpen filter, might be counterproductive to FXAA and BLOOM, hence disabled by default #define value 0.98 //Default: 7.5 /higher = more visible effect //================ #define S_COM_V2 0 //Sharpen Complex v2 from https://github.com/mpc-hc similar to above in effect, maybe more accurate #define S_val0 5.0 //Default: 5.0 /higher ~ increases sharpness /negative ~ can add extra blurr/strange effect //================ //UPSCALING FILTERS: //To use those, you have to set rendering res to smaller than window/display size(x1 for best results) and screen scaling filter to "nearest" //Starting from v1.1.1-28-g70e9979 you can also add Upscaling=True to ini file(check example) to do it automatically //================ #define xBR 1 //ON:1/OFF:0 /5xBR upscale, nice for 2D games especially those that might be buggy with higher rendering res, initially made by Hyllian - license below #define VariantB 0 //ON:1/OFF:0 /slightly less effect on fonts, dots and other small details //================ #define xHQ 0 //ON:1/OFF:0 same as 4xHQ in PPSSPP, but actually using output resolution #define scaleoffset 0.75 //Default: 0.75 /you can tweek it between 0.5 and 1.0, Note: to little = no effect, to high = ugliness //================ //OTHER FILTERS: //Most effects from here on can be fully mixed without loosing previous effects. Exceptions: Natural Colors, Advanced Cartoon //================ #define BLOOM 0 //ON:1/OFF:0 /bloom implementation from "my heroics" blog http://myheroics.wordpress.com/2008/09/04/glsl-bloom-shader/ #define KIMOCHI 1 //Senpai! #define samples 3 //Default: 4 /higher = more glow, worse performance #define quality 0.22 //Default: 0.18 /lower = smaller glow, better quality #define Bpower 1.0 //Default: 1.0 /amount of bloom mixed //================ #define COLORED 1 //ON:1/OFF:0 /coloring part of KrossX Overlay Bloom shader from here http://www.mediafire.com/krossx#ste5pa5ijfa0o #define Cpower 0.69 //Default: 0.5 /strenght of the effect //================ #define NATURALC 0 //ON:1/OFF:0 /by popular demand, natular colors, note: this shader can't be fully mixed with smoothing/sharpening/upscaling effects #define ncpower 0.5 //Default:0.5 / higher = more natural color, check note line above //================ #define ACARTOON 0 //ON:1/OFF:0 Advanced Cartoon from Guest
eFootball Chelito 19 v1.6.3 2025-05-06 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_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:00000910 HWX T Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
eFootball Chelito 19 v1.18.1 2025-05-05 Error in shader program link: info: L0001 The fragment shader uniform floating-point u_pixelDelta does not match the vertex shader uniform floating-point u_pixelDelta. 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; in vec4 v_texcoordNC0; in vec4 v_texcoordNC1; in vec4 v_texcoordNC2; in vec4 v_texcoordNC3; in vec2 omega; vec3 processSHADEBOOST(inout vec3 color) { float sat = 1.2000000476837158203125; float brt = 1.0; float con = 1.0; float AvgLumR = 1.5; float AvgLumG = 1.5; float AvgLumB = 1.5; if (false) { sat = 0.10999999940395355224609375; brt = 0.87000000476837158203125; con = 1.2000000476837158203125; AvgLumR = 1.1993000507354736328125; AvgLumG = 0.959999978542327880859375; AvgLumB = 0.6754000186920166015625; } if (false) { sat = 0.0; brt = 1.0; con = 1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (false) { sat = 1.0; brt = 1.0; con = -1.0; AvgLumR = 1.0; AvgLumG = 1.0; AvgLumB = 1.0; } if (false) { 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; if (false) { color = color.xzy; } if (false) { color = color.zyx; } if (true) { color = color.zxy; } if (false) { color = color.yxz; } if (true) { color = color.yzx; } return color; } void main() { vec3 color = texture(sampler0, v_texcoord0).xyz; vec3 param = color; vec3 _131 = processSHADEBOOST(param); color = _131; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.x = color.x; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.y = color.y; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.z = color.z; _RESERVED_IDENTIFIER_FIXUP_gl_FragColor.w = 1.0; } vs: postshader #version 310 es uniform vec2 u_texelDelta; uniform vec2 u_pixelDelta; out vec2 v_texcoord0; in vec2 a_texcoord0; in vec4 a_position; out vec4 v_texcoord1; out vec4 v_texcoord2; out vec4 v_texcoord3; out vec4 v_texcoord4; out vec2 v_texcoord5; void main() { v_texcoord0 = a_texcoord0 + vec2(9.9999999747524270787835121154785e-07); gl_Position = a_position; v_texcoord1 = a_texcoord0.xyxy + (vec4(-0.5, -0.5, -1.5, -1.5) * u_texelDelta.xyxy); v_texcoord2 = a_texcoord0.xyxy + (vec4(0.5, -0.5, 1.5, -1.5) * u_texelDelta.xyxy); v_texcoord3 = a_texcoord0.xyxy + (vec4(-0.5, 0.5, -1.5, 1.5) * u_texelDelta.xyxy); v_texcoord4 = a_texcoord0.xyxy + (vec4(0.5, 0.5, 1.5, 1.5) * u_texelDelta.xyxy); v_texcoord5 = (vec2(1.0) / u_pixelDelta) * 3.1415927410125732421875; }
EA-Sports FC PC-V v1.6.3 2025-05-03 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in 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: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); }
eFottball Hend Asean v1.18.1 2025-05-02 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.12.2 2025-05-01 Error in shader program link: info: (unknown reason) fs: 00000000:0001d000 AlphaTest0 > #version 320 es #extension GL_EXT_shader_framebuffer_fetch : require // Mali-G57 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) uniform sampler2D testtex; in lowp vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) DISCARD; fragColor0 = v; } vs: 00000000:0000000a THR C #version 320 es // Mali-G57 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
PES 2019 BY CHELITO 19 v1.6.3 2025-05-01 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; }
GODS EATER BURST v1.18.1-945-gb0182ed0e6 2025-05-01 Error in shader program link: info: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers fs: 10180000:06017002 Tex FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest0 != #version 320 es #extension GL_EXT_blend_func_extended : require // Driver: Adreno (TM) 640 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:06017002 Tex FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest0 != uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t; v.rgb *= u_texNoAlphaMul.y; if (v.a < 0.002) DISCARD; fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 00000000:00000002 THR #version 320 es // Driver: Adreno (TM) 640 - 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; }
GODS EATER BURST v1.18.1-945-gb0182ed0e6 2025-05-01 Error in shader program link: info: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers fs: 10180000:06200802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod #version 320 es #extension GL_EXT_blend_func_extended : require // Driver: Adreno (TM) 640 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:06200802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Adreno (TM) 640 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0;
GODS EATER BURST v1.18.1-945-gb0182ed0e6 2025-05-01 Error in shader program link: info: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers fs: 10180000:0621d802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest0 > #version 320 es #extension GL_EXT_blend_func_extended : require // Driver: Adreno (TM) 640 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0621d802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest0 > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; in lowp vec4 v_color0; in lowp vec3 v_color1; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; out vec4 fragColor1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = clamp(v.rgb * u_texNoAlphaMul.y, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) DISCARD; fragColor0 = vec4(v.rgb, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Adreno (TM) 640 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x0
GODS EATER BURST v1.18.1-945-gb0182ed0e6 2025-05-01 Error in shader program link: info: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers fs: 10180000:0620d802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest > #version 320 es #extension GL_EXT_blend_func_extended : require // Driver: Adreno (TM) 640 - GLSL 320 #define DISCARD discard precision lowp float; precision highp int; #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 10180000:0620d802 Tex Fog LM FragUber StenToAlphaDual Sten0 TFuncMod AlphaTest > uniform sampler2D tex; uniform vec2 u_texNoAlphaMul; uniform uint u_alphacolorref; uniform uint u_alphacolormask; 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; out vec4 fragColor1; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; t.a = max(t.a, u_texNoAlphaMul.x); vec4 v = p * t + s; v.rgb = 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, 0.0); fragColor1 = vec4(0.0, 0.0, 0.0, v.a); } vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Adreno (TM) 640 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distanc
eFootball PES 2023 "SNE" v1.6.3 2025-04-30 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball PES 2023 "SNE" v1.6.3 2025-04-30 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
EA-Sports FC PC-V v1.6.3 2025-04-29 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
GTA: Liberty City Stories v1.18.1 2025-04-28 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP8, 1f + @TMP9 fs: 00182a82:00000c22 Tex LM TexAlpha Double ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00182a82:00000c22 Tex LM TexAlpha Double ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01000000:80120b21 HWX T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80120b21 HWX T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightSca
GTA: Liberty City Stories v1.18.1 2025-04-28 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP8, 1f + @TMP9 fs: 00182a82:00000c02 Tex LM TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00182a82:00000c02 Tex LM TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01000000:80120b21 HWX T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80120b21 HWX T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u
GTA: Liberty City Stories v1.18.1 2025-04-28 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP8, 1f + @TMP9 fs: 00182a82:00000c22 Tex LM TexAlpha Double ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00182a82:00000c22 Tex LM TexAlpha Double ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; in lowp vec4 v_color0; in lowp vec3 v_color1; in mediump float v_fogdepth; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 s = vec4(v_color1, 0.0); vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t + s; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 01000000:80120321 HWX N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80120321 HWX N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; vec3 diffuseColor = u_matdiffuse.rgb; vec3 specularColor = u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation;
GTA: Liberty City Stories v1.18.1 2025-04-28 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00182a82:00000402 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00182a82:00000402 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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; vec4 v = p * t; v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 00000000:00120b20 HWX T N UVEnv 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00120b20 HWX T N UVEnv 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform vec3 u_lightpos1; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos0) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos0), worldnormal)), 1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal))) * 0.5, 1.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; }
GTA: Liberty City Stories v1.18.1 2025-04-28 Error in shader program link: info: Vertex info ----------- (0) : fatal error C9999: Can't convert to expr: 1f + @TMP0, 1f + @TMP1 fs: 00182a82:00000402 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define DISCARD discard #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00182a82:00000402 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; 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; vec4 v = p * t; v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 00000000:00120320 HWX N UVEnv 0: c:0 t:0 1: c:0 t:0 Cull #version 330 #extension GL_EXT_gpu_shader4 : enable // Driver: GeForce 9600M GT/PCI/SSE2 - GLSL 330 #define gl_VertexIndex gl_VertexID #define lowp #define mediump #define highp #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00120320 HWX N UVEnv 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform vec3 u_lightpos1; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = u_matambientalpha; v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos0) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos0), worldnormal)), 1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal))) * 0.5, 1.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; }
FIFA 21 Beta T. Bendezu & Alexander v1.6.3 2025-04-27 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0021d002 Tex Fog TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); if (v.a < 0.002) discard; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00000000:0000001c C Fog Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = position.w; gl_Position = u_proj * vec4(position.xyz, 1.0); }
eFOOTBALL By YUNIER YUNIER & EDITOR ECUADOR PSP v1.8.0 2025-04-27 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
eFootball Chelito 19 v1.6.3 2025-04-25 Error in shader program link: info: Link failed because of missing vertex shader. 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 mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); fragColor0 = v; } vs: 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 Euro y Copa America By T. Bendezu v1.8.0 2025-04-27 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
eFootball Chelito 19 v1.10.3 2025-04-24 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
eFootball Chelito 19 v1.6.3 2025-04-24 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:0021d002 Tex Fog 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; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); 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: 04000000:41c0091c HWX C T Fog Tex Bones:8 WScale 2 #version 300 es precision highp float; in mediump vec4 w1, w2; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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 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() { 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.999969482421875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(0.0, 0.0, 1.0, 0.0)).xyz * 1.999969482421875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball Chelito 19 v1.6.3 2025-04-24 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:00200002 Tex Fog TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 04000000:4100091c HWX C T Fog Tex Bones:5 WScale 2 #version 300 es precision highp float; in mediump vec4 w1; in mediump float w2; in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mat4 u_bone0; uniform mat4 u_bone1; uniform mat4 u_bone2; uniform mat4 u_bone3; uniform mat4 u_bone4; uniform vec4 u_uvscaleoffset; uniform 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() { mat4 skinMatrix = w1.x * u_bone0 + w1.y * u_bone1 + w1.z * u_bone2 + w1.w * u_bone3 + w2 * u_bone4; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.999969482421875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(0.0, 0.0, 1.0, 0.0)).xyz * 1.999969482421875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball Chelito 19 v1.6.3 2025-04-24 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment shader is missing. fs: 00000000:0021d002 Tex Fog 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; uniform vec3 u_fogcolor; in highp float v_fogdepth; in highp vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = vec4(t.rgb * p.rgb, p.a); 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: 04000000:4140091c HWX C T Fog Tex Bones:6 WScale 2 #version 300 es precision highp float; in mediump vec4 w1; in mediump vec2 w2; in vec3 position; in vec2 texcoord; in lowp vec4 color0; 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 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() { 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; vec3 skinnedpos = (skinMatrix * vec4(position, 1.0)).xyz * 1.999969482421875; vec3 worldpos = (u_world * vec4(skinnedpos, 1.0)).xyz; mediump vec3 skinnednormal = (skinMatrix * vec4(0.0, 0.0, 1.0, 0.0)).xyz * 1.999969482421875; mediump vec3 worldnormal = normalize((u_world * vec4(skinnednormal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
eFootball RB - V. v1.6.3 2025-04-21 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 PC - V. v1.6.3 2025-04-21 Error in shader program link: info: Link Error: Vertex 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:00000910 HWX T Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; flat out lowp vec4 v_color0; out 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 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
GTA: Liberty City Stories v1.11.3 2025-04-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); oColor0 = Color0; oTexCoord0 = TexCoord0; }
eFootball Asia 2023 v1.10.3 2025-04-20 Error in shader program link: info: Error: input v_texcoordNC0 not declared in output from previous stage. Error: Linking failed. 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 shader pack #define th 0.10 //Default: 0.10 /outlines sensitivity, recommended from 0.00...0.50 #define
Mortal Kombat: Unchained v1.6.3 2025-04-18 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00002a82:0001d022 Tex TexAlpha ReplaceBlend_2A:10_B:10_Eq:0 TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform vec3 u_blendFixA; uniform vec3 u_blendFixB; uniform sampler2D testtex; in vec4 v_color0; 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; v.rgb = v.rgb * u_blendFixA; fragColor0 = v; } vs: 00000000:00000910 HWX T Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; 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 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
eFootball PC - V. v1.6.2 2025-04-18 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in mediump vec3 v_texcoord; inout vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 40000000:00000012 THR Tex Flat #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball PES By HAROUN TECH v1.6.2 2025-04-17 Error in shader program link: info: Link Error: Vertex 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:00000910 HWX T Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; flat out lowp vec4 v_color0; out 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 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
eFootball PES By HAROUN TECH v1.6.2 2025-04-17 Error in shader program link: info: Link Error: Fragment shader is missing. fs: 00004000:0001d022 Tex TexAlpha Flat TFuncMod AlphaTest0 > #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; flat in vec4 v_color0; in 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: 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 Asia 2023 v1.12.3 2025-04-17 Error in shader program link: info: Link failed because of missing fragment shader. fs: thin3d vs: thin3d #version 320 es #if __VERSION__ >= 130 #define attribute in #define varying out #endif attribute vec3 Position; attribute vec4 Color0; attribute vec2 TexCoord0; varying vec4 oColor0; varying vec2 oTexCoord0; uniform mat4 WorldViewProj; void main() { gl_Position = WorldViewProj * vec4(Position, 1.0); oColor0 = Color0; oTexCoord0 = TexCoord0; }
eFootball PES 2024 "SN3" v1.6.3 2025-04-16 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00004000:00000022 Tex TexAlpha Flat TFuncMod #version 300 es #extension GL_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:00000910 HWX T Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
eFootball PES 2024 "SN3" v1.6.3 2025-04-16 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00000000:0001d022 Tex TexAlpha TFuncMod AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; uniform sampler2D testtex; in vec4 v_color0; in mediump vec3 v_texcoord; out vec4 fragColor0; void main() { vec4 t = texture(tex, v_texcoord.xy); vec4 p = v_color0; vec4 v = p * t; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000001a THR C Tex #version 300 es precision highp float; in vec4 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; out mediump vec3 v_texcoord; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
eFootball PC - V. v1.6.3 2025-04-16 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: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); }
Grand Theft Auto: Vice City Stories v1.18.1 2025-04-15 Error in shader program link: info: (unknown reason) fs: postshader #ifdef GL_ES precision mediump float; #endif /* AA shader 4.o / AA shader 4.o - filtro Copyright (C) 2014 guest(r) - [email protected] This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // Modified as video aware smoothing effect for PPSSPP. // Some variable definitions had to be moved inside functions(and so repeated) due to glsl->hlsl auto translation failing. // Also auto translation fails with bool uniform, which is why u_video is defined as float. #ifdef GL_ES precision mediump float; precision mediump int; #endif uniform sampler2D sampler0; uniform float u_video; //=========== varying vec2 v_texcoord0; const vec3 dt = vec3(1.0,1.0,1.0); vec3 texture2d (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; return 0.5*(m2*(s00+s22)+m1*(s02+s20))/(m1+m2); } vec3 texture2dd (vec2 texcoord) { float scale = 1.0; if (u_video==1.0){ scale = 2.0; } else { scale = 7.0; } vec4 yx = vec4(1.0/480.0,1.0/272.0,-1.0/480.0,-1.0/272.0)/scale; vec4 xy = vec4(2.0/480.0,2.0/272.0,-2.0/480.0,-2.0/272.0)/scale; vec3 c11 = texture2D(sampler0, texcoord ).xyz; vec3 c00 = texture2D(sampler0, texcoord + xy.zw).xyz; vec3 c20 = texture2D(sampler0, texcoord + xy.xw).xyz; vec3 c22 = texture2D(sampler0, texcoord + xy.xy).xyz; vec3 c02 = texture2D(sampler0, texcoord + xy.zy).xyz; vec3 s00 = texture2D(sampler0, texcoord + yx.zw).xyz; vec3 s20 = texture2D(sampler0, texcoord + yx.xw).xyz; vec3 s22 = texture2D(sampler0, texcoord + yx.xy).xyz; vec3 s02 = texture2D(sampler0, texcoord + yx.zy).xyz; float d1=dot(abs(c00-c22),dt)+0.001; float d2=dot(abs(c20-c02),dt)+0.001; float m1=dot(abs(s00-s22),dt)+0.001; float m2=dot(abs(s02-s20),dt)+0.001; vec3 t2=(d1*(c20+c02)+d2*(c00+c22))/(2.0*(d1+d2)); return 0.25*(c11+t2+(m2*(s00+s22)+m1*(s02+s20))/(m1+m2)); } void main() { float scale = 7.0; bool filtro = false; if (u_video==1.0){ scale = 2.0; filtro = true; } else { scale = 7.0; filtro = false; } // Calculating texel coordinates vec2 size = vec2(480.0,272.0)*scale; vec2 inv_size = vec2(1.0/480.0,1.0/272.0)/scale; vec2 OGL2Pos = v_texcoord0 * size; vec2 fp = fract(OGL2Pos); vec2 dx = vec2(inv_size.x,0.0); vec2 dy = vec2(0.0, inv_size.y); vec2 g1 = vec2(inv_size.x,inv_size.y); vec2 g2 = vec2(-inv_size.x,inv_size.y); vec2 pC4 = floor(OGL2Pos) * inv_size + 0.5*inv_size; // Reading the texels vec3 C0 = texture2d(pC4 - g1); vec3 C1 = texture2d(pC4 - dy); vec3 C2 = texture2d(pC4 - g2); vec3 C3 = texture2d(pC4 - dx); vec3 C4 = texture2d(pC4 ); vec3 C5 = texture2d(pC4 + dx); vec3 C6 = texture2d(pC4 + g2); vec3 C7 = texture2d(pC4 + dy); vec3 C8 = texture2d(pC4 + g1); vec3 ul, ur, dl, dr; float m1, m2; m1 = dot(abs(C0-C4),dt)+0.001
EA-Sports FC PC-V v1.6.3 2025-04-14 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; }
PES 2014 v1.6.3 2025-04-13 Error in shader program link: info: Link failed because of missing fragment shader. fs: 00004000:00200022 Tex TexAlpha Fog Flat TFuncMod #version 300 es #extension GL_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:0000091c HWX C T Fog Tex Flat #version 300 es precision highp float; in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; flat out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
NARUTO SHIPPUDEN: Ultimate Ninja Impact v1.6.3 2025-04-12 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:0000d822 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: 01f30001:00000b19 HWX C T N LM Tex Light: 0: c:1 t:0 1: c:0 t:0 2: c:0 t:0 3: 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 lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out lowp vec3 v_color1; 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 * color0 + 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 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; 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); toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
NARUTO SHIPPUDEN: Ultimate Ninja Impact v1.6.3 2025-04-12 Error in shader program link: info: Link Error: Vertex shader is missing. Link Error: Fragment 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:00000914 HWX T Fog Tex #version 300 es precision highp float; in vec3 position; in vec2 texcoord; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out highp vec3 v_texcoord; out highp float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = vec3(0.0, 0.0, 1.0); vec4 viewPos = u_view * vec4(worldpos, 1.0); gl_Position = u_proj * viewPos; v_color0 = u_matambientalpha; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; }
NARUTO SHIPPUDEN: Ultimate Ninja Impact v1.6.3 2025-04-12 Error in shader program link: info: Link Error: Vertex shader is missing. fs: 00000000:0001d822 Tex TexAlpha LM 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 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; if (v.a < 0.002) discard; fragColor0 = v; } vs: 01f30001:00000b19 HWX C T N LM Tex Light: 0: c:1 t:0 1: c:0 t:0 2: c:0 t:0 3: 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 lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform vec3 u_lightpos3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec4 u_ambient; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; out lowp vec4 v_color0; out lowp vec3 v_color1; 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 * color0 + 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 * color0.rgb) * ldot; ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * (pow(ldot, u_matspecular.a) ); lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse); toLight = u_lightpos1; 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); toLight = u_lightpos3; ldot = max(dot(toLight, worldnormal), 0.0); diffuse = (u_lightdiffuse3 * color0.rgb) * ldot; lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); }
eFootball RB - V. v1.6.3 2025-04-12 Error in shader program link: info: Link failed because of missing vertex shader. fs: 00000000:0001d000 AlphaTest0 > #version 300 es #extension GL_ARM_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D testtex; in vec4 v_color0; out vec4 fragColor0; void main() { vec4 v = v_color0 ; if (v.a < 0.002) discard; fragColor0 = v; } vs: 00000000:0000000a THR C #version 300 es precision highp float; in vec4 position; in lowp vec4 color0; uniform mat4 u_proj_through; out lowp vec4 v_color0; void main() { v_color0 = color0; gl_Position = u_proj_through * vec4(position.xyz, 1.0); }
ソードアート・オンライン -インフィニティ・モーメント- v1.18.1 2025-04-11 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
Pro Evolution Soccer 2013 v1.10-6-g8ac4efd3c 2025-04-11 Error in shader program link: info: Variable u_texelDelta has unmatched precision qualifier in different shaders 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). // Only last one applies, so pick just one of them, mess around with it's settings and add other effects as needed. //====================================================================================================================================================================== //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 0 //ON:1/OFF:0 /default FXAA, orginal info below //================ #define GAUSS_SQ 0 //ON:1/OFF:0 /full square gauss filtering #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 //================ //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 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 //================ //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 MIKU 0 //Hatsune<3 this is an optional bloom filter for all those pale anime faces which get white otherwise:P tested on Miku in white dress #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.5 //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 //==