To see your stuff show here, enable Compatibility Server Reports in PPSSPP.
Click on a version, game, or report message to show similar entries. Hover over version to see platform info, and hover over a game title to see region and version info.
| Game title |
Version |
Latest Report |
Hits |
Message |
| Prince of Persia - Revelations |
v1.17.1-334-g1786a4ddb |
2025-04-21 |
1 |
Unknown GetPointerWrite 9cc1deb5 PC 08aeb4d8 LR 08aeb4f0 |
| Prince of Persia: The Forgotten Sands™ |
v1.17.1-334-g1786a4ddb |
2025-04-21 |
2 |
80630006=sceAtracSetData(0, 09471400, 00000762): multiple fmt definitions |
| Scooby-Doo! Who's Watching Who |
v1.17.1-334-g1786a4ddb |
2025-04-21 |
4 |
80630006=sceAtracSetData(0, 08b6d980, 00020000): multiple fmt definitions |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
WriteToHardware: Invalid address 3b003590 near PC 0880dcc8 LR 0880dcc8 |
| Prince of Persia® Rival Swords |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
00000000=sceDisplaySetHoldMode(00000001): unsupported |
| PES my 2024 |
v1.18.1 |
2025-08-01 |
5 |
Unknown GetPointerWrite 00000000 PC 08808430 LR 08808448 |
| Dragon Ball Z: Sparking Legacy |
v1.18.1 |
2025-05-25 |
8 |
WriteToHardware: Invalid address 00000000 near PC 0887d15c LR 0887d15c |
| LEGO® Harry Potter™: Years 5-7 |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
2 |
80630006=sceAtracSetData(0, 0921d200, 00030000): multiple fmt definitions |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
18 |
AT3 header map lacks entry for bpf: 0 channels: 0 |
| NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.18.1 |
2025-05-17 |
2 |
Unknown GetPointerWrite 0a006e90 PC 089d13cc LR 089d5eb4 |
| Burnout Legends |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
2 |
Branch in branch delay slot at 08000020 with different target |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(717ccfa, 34:f5:c8:a9:95:e7, 20000000, 0) at 0897eeec |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(717ccfa, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(52a755b, 2c:9e:ef:c4:5f:83, 20000000, 0) at 0897eeec |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-20 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(52a755b, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Prince of Persia® Rival Swords |
v1.17.1-334-g1786a4ddb |
2025-09-30 |
2 |
Unknown GE command : 597b354d |
| FIFA 14 |
v1.17.1-334-g1786a4ddb |
2025-04-19 |
1 |
Unknown GetPointerWrite 00000000 PC 08de4488 LR 08de5014 |
| PES MY 2024 |
v1.18.1 |
2025-07-31 |
34 |
Unknown GetPointerWrite 00000000 PC 088287e0 LR 088287f0 |
| WWE SmackDown vs. RAW 2011 |
v1.18.1 |
2025-09-08 |
262 |
80630006=sceAtracSetData(2, 08d13180, 00038000): multiple fmt definitions |
| SBK-07 |
v1.18.1 |
2025-08-14 |
2 |
sceKernelRegisterSubIntrHandler(30, 0, 08a24354, 093835a0): duplicate handler |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-19 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(6a95664, 34:f5:c8:a9:95:e7, 20000000, 0) at 0897eeec |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-19 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(6a95664, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-19 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(e000b9a, 34:f5:c8:a9:95:e7, 20000000, 0) at 0897eeec |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-19 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(e000b9a, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| FIFA STREET 2 |
v1.17.1-334-g1786a4ddb |
2025-04-18 |
1 |
Unknown GE command : 4e474953 |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-04-17 |
1 |
WriteToHardware: Invalid address 2b1397dc near PC 0880dcc8 LR 0880dcc8 |
| Prince of Persia® Rival Swords |
v1.17.1-334-g1786a4ddb |
2025-04-16 |
1 |
Unknown GetPointerWrite 9aa69eb5 PC 08c32414 LR 08c3242c |
| Prince of Persia® Rival Swords |
v1.17.1-334-g1786a4ddb |
2025-04-14 |
1 |
Unknown GE command : 0303304e |
| Tenchu: Shadow Assassins |
v1.17.1-334-g1786a4ddb |
2025-04-14 |
2 |
80630006=sceAtracSetData(0, 09194c40, 00001000): multiple fmt definitions |
| デジモンアドベンチャー |
v1.17.1-334-g1786a4ddb |
2025-04-14 |
1 |
Unknown GetPointerWrite 8708ff80 PC 0895b3b8 LR 089615b0 |
| PES FL 2022 |
v1.17.1-334-g1786a4ddb |
2025-04-12 |
1 |
Unknown GetPointerWrite 40548d09 PC 0888d3ec LR 0888d3fc |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.18.1 |
2025-05-11 |
2 |
MIPSCompileOp: Invalid instruction 7f95670e |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.18.1 |
2025-05-11 |
2 |
MIPSCompileOp: Invalid instruction 6295690b |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.18.1 |
2025-05-11 |
2 |
MIPSCompileOp: Invalid instruction 03794814 |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.18.1 |
2025-05-17 |
4 |
80630007=sceAtracSetData(2, 08d4b180, 00002478): atracID uses different codec type than data |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-09 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(0cda95a, 7c:47:62:cf:1b:4d, 20000000, 0) at 0897eeec |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-09 |
1 |
UNTESTED sceNetAdhocctlCreateEnterGameMode(0cda95a, 1, 2, 09fbf960, 20000000, 0) at 0897ec84 |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-04-09 |
1 |
UNTESTED sceNetAdhocctlJoinEnterGameMode(bf93ca1, 34:f3:9c:6c:ce:11, 20000000, 0) at 0897eeec |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-04-08 |
1 |
WriteToHardware: Invalid address 2d159c8c near PC 0880dcc8 LR 0880dcc8 |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-04-08 |
1 |
WriteToHardware: Invalid address e3c3f7c4 near PC 0880dcc8 LR 0880dcc8 |
| NBA2K25 MOD BY GERTISGAMING |
v1.9.4 |
2026-11-06 |
521 |
80000107=sceDisplaySetFrameBuf(04000000, 512, 0, 0): must change latched framebuf first |
| NBA2K25 MOD BY GERTISGAMING |
v1.9.4 |
2026-11-06 |
623 |
80000107=sceDisplaySetFrameBuf(04000000, 512, 3, 0): must change latched framebuf first |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.9.4 |
2025-10-25 |
4 |
80630007=sceAtracSetData(2, 08d4b180, 00010910): atracID uses different codec type than data |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.9.4 |
2026-08-09 |
12 |
80630007=sceAtracSetData(2, 08d4b180, 00004548): atracID uses different codec type than data |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.18.1 |
2025-06-09 |
2 |
Jump in likely branch delay slot with link at 098767c0 |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.9.4 |
2026-04-06 |
4 |
80630007=sceAtracSetData(2, 08d4b180, 00003710): atracID uses different codec type than data |
| PES MY 2024 |
v1.18.1 |
2025-07-16 |
3 |
MIPSCompileOp: Invalid instruction b11583e1 |
| PES MY 2024 |
v1.18.1 |
2025-05-29 |
2 |
Branch in RSRTComp delay slot at 0880b458 in block starting at 0880b424 |
| PES MY 2024 |
v1.18.1 |
2025-07-16 |
3 |
MIPSCompileOp: Invalid instruction ec628fc9 |
| eFootball CESAR - PATCH |
v1.9.4 |
2026-02-24 |
78 |
MIPSCompileOp: Invalid instruction 62207473 |
| eFootball CESAR - PATCH |
v1.9.4 |
2026-02-24 |
78 |
MIPSCompileOp: Invalid instruction 6e69746f |
| eFootball CESAR - PATCH |
v1.9.4 |
2026-02-24 |
74 |
MIPSCompileOp: Invalid instruction 756d2067 |
| eFootball CESAR - PATCH |
v1.9.4 |
2026-02-24 |
76 |
MIPSCompileOp: Invalid instruction 706f2074 |
| PES MY 2024 |
v1.17.1-334-g1786a4ddb |
2025-04-01 |
71 |
MIPSCompileOp: Invalid instruction 01010101 |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-31 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b99ba4, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-31 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b99ba4, 4, 00000000, 0) |
| Rocky Balboa |
v1.17.1-334-g1786a4ddb |
2025-04-01 |
2 |
Unknown GetPointerWrite 00000079 PC 08a08738 LR 08807404 |
| Ben 10 Alien Force: Vilgax Attacks |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
2 |
80630006=sceAtracSetMOutHalfwayBuffer(0, 09b31320, 00001000, 00001000): multiple fmt definitions |
| Ben 10 Alien Force: Vilgax Attacks |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
1 |
80630006=sceAtracSetMOutHalfwayBuffer(0, 09afca68, 00001000, 00001000): multiple fmt definitions |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bdb104, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bdb104, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b01b74, 4, 00000000, 0) |
| Assassin's Creed: Bloodlines™ |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b01b74, 4, 00000000, 0) |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.18.1 |
2025-09-05 |
4 |
80630007=sceAtracSetData(2, 08d4b180, 0000bfc8): atracID uses different codec type than data |
| Def Jam® Fight For NY™: The Takeover |
v1.17.1-334-g1786a4ddb |
2025-03-29 |
4 |
Error in shader program link: info: Error: Uniform u_texelDelta precision mismatch with other stage.
Error: Linking failed.
fs: postshader
#version 320 es
precision mediump float;
precision highp int;
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 |
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-05-26 |
6 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01f34155:00000f29 HWX C T N LM RevN Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34155:00000f29 HWX C T N LM RevN Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(-normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toL |
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-05-26 |
6 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01f34155:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34155:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 3: c:0 t:1 MatUp:3 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3 |
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-03-27 |
1 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01730155:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 MatUp:3
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730155:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:0 MatUp:3
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_l |
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-03-27 |
2 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01f34551:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:0 t:1 MatUp:3
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34551:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 2: c:1 t:1 3: c:0 t:1 MatUp:3
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
|
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-03-27 |
2 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01f34515:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:1 3: c:0 t:1 MatUp:3
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f34515:00000b09 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:0 2: c:1 t:1 3: c:0 t:1 MatUp:3
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse);
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
|
| God of War®: Ghost of Sparta |
v1.17.1-334-g1786a4ddb |
2025-03-27 |
2 |
Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader.
Please contact [email protected] with the shader causing
the problem, along with this error message.
Mali online shader compiler r9p0-01rel0 [Revision 96995].
01b34051:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 3: c:0 t:1 MatUp:3
#version 100
// Driver: Mali-470 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01b34051:00000b09 HWX C T N LM Light: 0: c:1 t:0 1: c:1 t:1 3: c:0 t:1 MatUp:3
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
vec4 ambientColor = color0;
vec3 diffuseColor = color0.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * specularColor * ldot ;
}
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
if (ldot >= 0.0) {
if (u_matspecular.a > 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
ldot = pow(max(ldot, 0.0), u_matspecular.a);
} else {
ldot = 1.0;
}
if (ldot > 0.0)
lightSum1 += u_lightspecular1 * specularColor * ldot * lightScale;
}
lightSum0.rgb += (u_lightambient1 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale;
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);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
gl_Position = outPos;
}
|
| NBA STREET Showdown |
v1.17.1-334-g1786a4ddb |
2026-05-25 |
2 |
Unknown GetPointerWrite ffffffff PC 08aae580 LR 08aae580 |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.8.0 |
2026-07-23 |
9 |
80630007=sceAtracSetData(2, 08d4b180, 0000cf18): atracID uses different codec type than data |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.18.1 |
2025-09-01 |
5 |
80630007=sceAtracSetData(2, 08d4b180, 0000d148): atracID uses different codec type than data |
| Ghost Rider |
v1.17.1-334-g1786a4ddb |
2025-03-26 |
2 |
MIPSCompileOp: Invalid instruction 00000137 |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.7.1 |
2026-09-02 |
8 |
80630007=sceAtracSetData(2, 08d4b180, 00007220): atracID uses different codec type than data |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b208 with different target |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b200 with different target |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b1f8 with different target |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b1f0 with different target |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b188 with different target |
| Dragon Ball Z: Tenkaichi Tag Team |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
Branch in branch delay slot at 0965b180 with different target |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.18.1 |
2026-03-07 |
6 |
80630007=sceAtracSetData(2, 08d4b180, 0000db20): atracID uses different codec type than data |
| Virtua Tennis: World Tour |
v1.17.1-334-g1786a4ddb |
2025-03-25 |
1 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09fff610, 4, 00000000, 0) |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.18.1 |
2025-12-23 |
5 |
80630007=sceAtracSetData(2, 08d4b180, 0000b2a8): atracID uses different codec type than data |
| WWE 2K23 DELUXE EDITION BY LUCKY ULTIMATE |
v1.8.0 |
2026-02-28 |
12 |
80630007=sceAtracSetData(2, 08d4b180, 0000d378): atracID uses different codec type than data |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 00000094 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 00000114 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 0000007a |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
1 |
MIPSCompileOp: Invalid instruction 000000a8 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
1 |
MIPSCompileOp: Invalid instruction 000000ce |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
1 |
MIPSCompileOp: Invalid instruction 00000014 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 6214c1b5 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
4 |
MIPSCompileOp: Invalid instruction cd3d33e3 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction ee9dcced |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 9d84d355 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction b012b222 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction 72dff905 |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
2 |
MIPSCompileOp: Invalid instruction f334ea2b |
| SOCOM: U.S. Navy SEALs Fireteam Bravo 3 |
v1.17.1-334-g1786a4ddb |
2025-03-24 |
1 |
80630006=sceAtracSetHalfwayBuffer(2, 08e11470, 00004650, 00010000): multiple fmt definitions |