Recent logs - God of War®: Ghost of Sparta

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
God of War®: Ghost of Sparta v1.17.1 2025-07-13 sceKernelLoadModule: unsupported options size=00000014, flags=089e8b88, pos=0, access=1, data=1, text=1
God of War®: Ghost of Sparta v1.17.1 2025-07-13 sceKernelLoadModule: unsupported options size=00000014, flags=089e8b88, pos=0, access=1, data=2, text=2
God of War®: Ghost of Sparta v1.17.1-1002-g5fd8fae8b5 2025-07-02 WriteToHardware: Invalid address 00000029 near PC 0883bb54 LR 089c7f10
God of War®: Ghost of Sparta v1.10.3 2025-06-22 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 r10p0-00dev0 [Revision 96995]. 01f34515:00000b1d HWX C T N LM Fog Tex 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 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform 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_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; 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 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient1 * color0.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 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient2 * color0.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
God of War®: Ghost of Sparta v1.10.3 2025-06-22 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 r10p0-00dev0 [Revision 96995]. 01f34515:00000f1d HWX C T N LM Fog RevN Tex 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 precision highp float; attribute vec3 position; attribute mediump vec3 normal; attribute vec2 texcoord; attribute lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform 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_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump vec3 v_texcoord; varying mediump float v_fogdepth; void main() { vec3 worldpos = (u_world * vec4(position.xyz, 1.0)).xyz; mediump vec3 worldnormal = normalize((u_world * vec4(-normal, 0.0)).xyz); vec4 viewPos = u_view * vec4(worldpos, 1.0); vec4 outPos = u_proj * viewPos; lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = vec3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; 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 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale; toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular1 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient1 * color0.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 * color0.rgb) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular2 * u_matspecular.rgb * ldot * lightScale; } lightSum0.rgb += (u_lightambient2 * color0.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); diffus
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); ldot = pow(max(ldot, 0.0),
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > vs: 01000000:80000f29 HWX C T N LM RevN Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000f29 HWX C T N LM RevN Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(-normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), w
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000000 FragUber vs: 00000000:00000928 HWX C T Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:00000928 HWX C T Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = u_matambientalpha; v_color0 = color0; v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; vec3 projPos = outPos.xyz / outPos.w; float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w; if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) { if ((projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y) || (projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y)) { outPos.xyzw = u_cullRangeMax.wwww; } } if (u_cullRangeMin.w <= 0.0) { if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) { outPos.xyzw = u_cullRangeMax.wwww; } } gl_Position = outPos; }
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:01000802 Tex LM FragUber StenToAlpha StenUniform TFuncMod vs: 01000000:80120b29 HWX C T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80120b29 HWX C T N LM UVEnv Light: LightUberShader 0: c:0 t:0 1: c:0 t:0 Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLi
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00400b8e Tex TexProj LM FragUber TClampST TFuncRepl vs: 01000000:80010b29 HWX C T N LM TexProjPos UVMtx Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80010b29 HWX C T N LM TexProjPos UVMtx Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform mediump mat4 u_texmtx; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(t
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:01000802 Tex LM FragUber StenToAlpha StenUniform TFuncMod vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); ldot =
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00200802 Tex Fog LM FragUber TFuncMod vs: 01000000:80000929 HWX C T LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000929 HWX C T LM Light: LightUberShader Cull in vec3 position; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(0.0, 0.0, 1.0, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); ldot = pow(max(ldot, 0.0), u_matspecular.a);
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:0120d802 Tex Fog LM FragUber StenToAlpha StenUniform TFuncMod AlphaTest > vs: 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 01000000:80000b29 HWX C T N LM Light: LightUberShader Cull in vec3 position; in mediump vec3 normal; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec4 u_uvscaleoffset; uniform uint u_lightControl; uniform vec3 u_lightpos0; uniform mediump vec3 u_lightatt0; uniform mediump vec3 u_lightdir0; uniform mediump vec2 u_lightangle_spotCoef0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform mediump vec3 u_lightatt1; uniform mediump vec3 u_lightdir1; uniform mediump vec2 u_lightangle_spotCoef1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform mediump vec3 u_lightatt2; uniform mediump vec3 u_lightdir2; uniform mediump vec2 u_lightangle_spotCoef2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform vec3 u_lightpos3; uniform mediump vec3 u_lightatt3; uniform mediump vec3 u_lightdir3; uniform mediump vec2 u_lightangle_spotCoef3; uniform lowp vec3 u_lightambient3; uniform lowp vec3 u_lightdiffuse3; uniform lowp vec3 u_lightspecular3; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_depthRange; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out lowp vec3 v_color1; out mediump vec3 v_texcoord; out mediump float v_fogdepth; vec3 normalizeOr001(vec3 v) { return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v); } void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz); vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0); vec4 outPos = mul(u_proj, viewPos); vec4 ambientColor = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha; vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse; vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : u_matspecular.rgb; lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0); lowp vec3 lightSum1 = splat3(0.0); vec3 toLight; lowp vec3 diffuse; float distance; lowp float lightScale; mediump float ldot; lowp float angle; uint comp; uint type; float attenuation; if ((u_lightControl & 0x1u) != 0x0u) { comp = (u_lightControl >> 0x04u) & 0x3u; type = (u_lightControl >> 0x06u) & 0x3u; toLight = u_lightpos0; if (type != 0x0u) { toLight -= worldpos; distance = length(toLight); toLight /= distance; attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0); if (type == 0x01u) { lightScale = attenuation; } else { angle = dot(u_lightdir0, toLight); if (angle >= u_lightangle_spotCoef0.x) { lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y)); } else { lightScale = 0.0; } } } else { lightScale = 1.0; } ldot = dot(toLight, worldnormal); if (comp == 0x2u) { ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0; } diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0); if (comp == 0x1u && ldot >= 0.0) { if (u_matspecular.a > 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal)
God of War®: Ghost of Sparta v1.19.2 2025-06-20 Error in shader program link: info: Link failed because of missing fragment shader. fs: 10180000:00000000 FragUber vs: 00000000:0000000a THR C #version 320 es // Driver: Mali-T830 - GLSL 320 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) // 00000000:0000000a THR C in vec4 position; in highp float fog; in vec2 texcoord; in lowp vec4 color0; uniform mat4 u_proj_through; uniform lowp float u_rotation; uniform highp vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; void main() { v_texcoord = vec3(texcoord, 1.0); v_color0 = color0; v_fogdepth = fog; vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0)); gl_Position = outPos; }
God of War®: Ghost of Sparta v1.16.5 2025-06-20 WriteToHardware: Invalid address 00000029 near PC 08ac9ccc LR 08ac9d78
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10110 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1013c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100e8 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1012c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10130 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1017c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100f4 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10120 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10108 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100ec in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10124 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100fc in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10114 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10178 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10128 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10138 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1010c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1018c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10144 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1011c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10168 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10160 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10104 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10100 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1015c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100e4 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c101a4 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100f8 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100f0 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10188 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1014c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10118 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10150 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c100e0 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10140 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10158 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10154 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10170 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10134 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10184 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10180 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10198 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1019c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10148 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10164 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10194 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c1016c in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c101a0 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10174 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-06-19 Branch in Jump delay slot at 08c10190 in block starting at 08c10008
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c1013c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10158 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c1012c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c1010c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100ec in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10154 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10128 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100e0 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10140 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10124 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c100f0 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c10188 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10148 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c10144 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10194 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c1016c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10118 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10130 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100e8 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c10170 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10114 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c10168 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c1011c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c1018c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c1017c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10138 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100f8 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c1014c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10164 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c1015c in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-13 Branch in Jump delay slot at 08c100f4 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10180 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c10134 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100d8 in block starting at 08c10000
God of War®: Ghost of Sparta v1.19.2 2025-07-15 Branch in Jump delay slot at 08c100fc in block starting at 08c10000