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 |
Obscure: The Aftermath |
v1.18.1 |
2025-04-24 |
sceDmacMemcpy(dest=0936ce60, src=09c08900, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-04-20 |
sceDmacMemcpy(dest=0844a200, src=09396a00, size=5558): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-04-16 |
sceDmacMemcpy(dest=0866c500, src=09396a00, size=193458): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-04-13 |
sceDmacMemcpy(dest=09376e60, src=0979c2c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-04-12 |
sceDmacMemcpy(dest=09370e60, src=0966c080, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-04-07 |
WriteToHardware: Invalid address 00000154 near PC 08acfd78 LR 08acfc44 |
Obscure: The Aftermath |
v1.10.2 |
2025-04-05 |
sceDmacMemcpy(dest=0936ae60, src=096a5640, size=8192): overlapping read |
Obscure: The Aftermath |
v1.16.6 |
2025-03-31 |
sceDmacMemcpy(dest=08474b40, src=09396a00, size=5627): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-03-29 |
sceDmacMemcpy(dest=09378e60, src=09a8ae40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.16.6 |
2025-03-28 |
sceDmacMemcpy(dest=084ac440, src=09396a00, size=25101): overlapping read |
Obscure: The Aftermath |
v1.16.6 |
2025-03-28 |
sceDmacMemcpy(dest=0936ae60, src=09707600, size=8192): overlapping read |
Obscure: The Aftermath |
v1.16.6 |
2025-03-20 |
sceDmacMemcpy(dest=0936ae60, src=097b4d40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-03-18 |
sceDmacMemcpy(dest=0936ee60, src=095fd380, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-03-15 |
Unexpected mpeg first timestamp: cd9c9c9c9c9 / 14129532881353 |
Obscure: The Aftermath |
v1.18.1 |
2025-03-10 |
sceDmacMemcpy(dest=09378e60, src=0984ffc0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-03-02 |
sceDmacMemcpy(dest=0936ce60, src=0978b640, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-25 |
WriteToHardware: Invalid address 00000154 near PC 08af1620 LR 08a5a2b8 |
Obscure: The Aftermath |
v1.18.1 |
2025-02-22 |
sceDmacMemcpy(dest=0937ce60, src=098b9540, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-21 |
sceDmacMemcpy(dest=0936ae60, src=0991d1c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-19 |
Unexpected mpeg first timestamp: 961df0ef224 / 10315958776356 |
Obscure: The Aftermath |
v1.18.1 |
2025-02-18 |
Unexpected mpeg first timestamp: af5bf25d208 / 12050590192136 |
Obscure: The Aftermath |
v1.18.1 |
2025-02-18 |
sceDmacMemcpy(dest=0936ae60, src=097282c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-18 |
sceDmacMemcpy(dest=0936ce60, src=09843140, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-14 |
sceDmacMemcpy(dest=09380e60, src=096f9580, size=8192): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2025-02-13 |
sceDmacMemcpy(dest=09374e60, src=099d2fc0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-02-11 |
sceDmacMemcpy(dest=09372e60, src=097b2e00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.14.4 |
2025-01-30 |
sceDmacMemcpy(dest=0937ae60, src=097d37c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-01-24 |
sceDmacMemcpy(dest=084c2740, src=09396a00, size=4225): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-01-24 |
sceDmacMemcpy(dest=0937ee60, src=0956f980, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-01-21 |
sceDmacMemcpy(dest=09378e60, src=098fc640, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2025-01-15 |
WriteToHardware: Invalid address 00000154 near PC 08a72064 LR 08abcb1c |
Obscure: The Aftermath |
v1.18.1 |
2025-01-07 |
Unknown GetPointer 0a003aa0 PC 08af12f4 LR 08aae2e4 |
Obscure: The Aftermath |
v1.18.1 |
2025-01-07 |
Unknown GetPointerWrite 0a0059a0 PC 08af12f4 LR 08aae2e4 |
Obscure: The Aftermath |
v1.18.1 |
2025-01-07 |
WriteToHardware: Invalid address 00000154 near PC 089d7d70 LR 089ee248 |
Obscure: The Aftermath |
v1.18.1 |
2025-01-01 |
sceDmacMemcpy(dest=0848c7c0, src=09396a00, size=3170): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-25 |
WriteToHardware: Invalid address 00000154 near PC 08abb68c LR 08abcf90 |
Obscure: The Aftermath |
v1.18.1 |
2024-12-19 |
80630006=sceAtracSetDataAndGetID(092dae30, 0001d080): invalid RIFF header |
Obscure: The Aftermath |
v1.17.1 |
2024-12-18 |
sceDmacMemcpy(dest=09376e60, src=094c45c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-15 |
sceDmacMemcpy(dest=09380e60, src=097f8a00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-11 |
sceDmacMemcpy(dest=0843a500, src=09396a00, size=1266): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-11 |
sceDmacMemcpy(dest=08495100, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.7.0 |
2024-12-09 |
sceDmacMemcpy(dest=0857ed00, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.7.0 |
2024-12-08 |
sceDmacMemcpy(dest=09380e60, src=0979ee80, size=8192): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2024-12-07 |
sceDmacMemcpy(dest=0936ae60, src=097ae240, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-06 |
sceDmacMemcpy(dest=0936ae60, src=099cb900, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-06 |
Failed to truncate file. |
Obscure: The Aftermath |
v1.18.1 |
2024-12-05 |
sceDmacMemcpy(dest=084fac80, src=09396a00, size=69762): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-12-01 |
sceDmacMemcpy(dest=0936ee60, src=0976f580, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-11-23 |
sceDmacMemcpy(dest=0936ae60, src=09808840, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.4-1 |
2024-11-18 |
sceKernelLoadModule: unsupported options size=00000014, flags=08c734c4, pos=0, access=1, data=2, text=2 |
Obscure: The Aftermath |
v1.17.4-1 |
2024-11-18 |
sceKernelLoadModule: unsupported options size=00000014, flags=08c734c4, pos=0, access=1, data=1, text=1 |
Obscure: The Aftermath |
v1.17.1 |
2024-11-17 |
WriteToHardware: Invalid address c36fa552 near PC 08aab098 LR 08aaa278 |
Obscure: The Aftermath |
v1.18.1 |
2024-11-16 |
sceDmacMemcpy(dest=08428e40, src=09396a00, size=69220): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-11-13 |
sceDmacMemcpy(dest=084fbe40, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.17.4-1 |
2024-11-13 |
sceDmacMemcpy(dest=0936ee60, src=098118c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-11-09 |
sceDmacMemcpy(dest=0937ee60, src=098eb500, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-11-08 |
sceDmacMemcpy(dest=0936ae60, src=094e9340, size=8192): overlapping read |
Obscure: The Aftermath |
v1.18.1 |
2024-11-07 |
sceDmacMemcpy(dest=0936ae60, src=09500900, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-11-06 |
sceDmacMemcpy(dest=0937ee60, src=0964aa80, size=8192): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2024-11-02 |
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].
05b08044:40c00b34 HWX T N Fog Tex Bones:4 Light: 0: c:0 t:1 1: c:0 t:1 3: c:0 t:2 WScale 2 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute mediump vec4 w1;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_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 vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.999969482421875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.999969482421875;
mediump vec3 worldnormal = normalize(mul(vec4(skinnednormal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir3) == 0.0 ? 0.0 : dot(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) {
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef3.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef3.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRan |
Obscure: The Aftermath |
v1.11.3 |
2024-11-02 |
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].
05e08440:40c00b34 HWX T N Fog Tex Bones:4 Light: 1: c:0 t:1 2: c:0 t:1 3: c:0 t:2 WScale 2 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute mediump vec4 w1;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform 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 vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.999969482421875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.999969482421875;
mediump vec3 worldnormal = normalize(mul(vec4(skinnednormal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir3) == 0.0 ? 0.0 : dot(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) {
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef3.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef3.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRan |
Obscure: The Aftermath |
v1.11.3 |
2024-11-02 |
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].
05d08404:40c00b34 HWX T N Fog Tex Bones:4 Light: 0: c:0 t:1 2: c:0 t:1 3: c:0 t:2 WScale 2 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute mediump vec4 w1;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
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 vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.999969482421875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.999969482421875;
mediump vec3 worldnormal = normalize(mul(vec4(skinnednormal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir3) == 0.0 ? 0.0 : dot(normalize(u_lightdir3), toLight);
if (angle >= u_lightangle_spotCoef3.x) {
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef3.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef3.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRan |
Obscure: The Aftermath |
v1.11.3 |
2024-11-02 |
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].
05700844:40c00b34 HWX T N Fog Tex Bones:4 Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:2 WScale 2 Cull
#version 100
// Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
attribute mediump vec4 w1;
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mat4 u_bone0;
uniform mat4 u_bone1;
uniform mat4 u_bone2;
uniform mat4 u_bone3;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec4 u_ambient;
uniform lowp vec3 u_matdiffuse;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
void main() {
mat4 skinMatrix = mul(w1.x, u_bone0) + mul(w1.y, u_bone1) + mul(w1.z, u_bone2) + mul(w1.w, u_bone3);
vec3 skinnedpos = mul(vec4(position, 1.0), skinMatrix).xyz * 1.999969482421875;
vec3 worldpos = mul(vec4(skinnedpos, 1.0), u_world).xyz;
mediump vec3 skinnednormal = mul(vec4(normal, 0.0), skinMatrix).xyz * 1.999969482421875;
mediump vec3 worldnormal = normalize(mul(vec4(skinnednormal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 0.0);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
lowp float angle;
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir2) == 0.0 ? 0.0 : dot(normalize(u_lightdir2), toLight);
if (angle >= u_lightangle_spotCoef2.x) {
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef2.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef2.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
if (u_cullRangeMin.w <= 0.0 || (projPos.z >= u_cullRangeMin.z && projPos.z <= u_cullRangeMax.z)) {
if (projPos.x < u_cullRan |
Obscure: The Aftermath |
v1.17.1 |
2024-10-30 |
sceDmacMemcpy(dest=0936ae60, src=09769d40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-10-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=08beaac0, pos=0, access=1, data=1, text=1 |
Obscure: The Aftermath |
v1.17.1 |
2024-10-10 |
sceDmacMemcpy(dest=09378e60, src=09d77a00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.9.0 |
2024-10-09 |
sceDmacMemcpy(dest=09378e60, src=0983f680, size=8192): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2024-10-09 |
sceDmacMemcpy(dest=0937ae60, src=096f2f40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-10-03 |
sceDmacMemcpy(dest=09376e60, src=097b2e00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-10-01 |
Truncating vertex count from 22260 to 21845 |
Obscure: The Aftermath |
v1.17.1 |
2024-10-01 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5164, pos=0, access=1, data=2, text=2 |
Obscure: The Aftermath |
v1.17.1 |
2024-10-01 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5164, pos=0, access=1, data=1, text=1 |
Obscure: The Aftermath |
v1.17.1 |
2024-09-28 |
sceDmacMemcpy(dest=08499a00, src=09396a00, size=435): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2024-09-25 |
sceDmacMemcpy(dest=084dfdc0, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.11.3 |
2024-09-22 |
sceDmacMemcpy(dest=0937ee60, src=09a8ae40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-09-22 |
sceDmacMemcpy(dest=084bc740, src=09396a00, size=24773): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-09-21 |
sceDmacMemcpy(dest=084cae00, src=09396a00, size=2375): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-09-17 |
sceDmacMemcpy(dest=0936ae60, src=09ceba40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.12.3 |
2024-09-03 |
sceDmacMemcpy(dest=0936ce60, src=0999ff00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-31 |
sceDmacMemcpy(dest=085b1b40, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.12.3 |
2024-08-30 |
sceDmacMemcpy(dest=0844d140, src=09396a00, size=5558): overlapping read |
Obscure: The Aftermath |
v1.17.4-1 |
2024-08-28 |
sceDmacMemcpy(dest=0842a040, src=09396a00, size=9145): overlapping read |
Obscure: The Aftermath |
v1.17.4-1 |
2024-08-28 |
Rendering from framebuf with offset 040d43c0 -> 040d4000+480x0 |
Obscure: The Aftermath |
v1.17.4-1 |
2024-08-28 |
00000400=sceGeEdramSetAddrTranslation(00001000) |
Obscure: The Aftermath |
v1.16.6 |
2024-08-27 |
sceDmacMemcpy(dest=0936ae60, src=096dbc40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-25 |
WriteToHardware: Invalid address 00000144 near PC 08ac9228 LR 08ac84ec |
Obscure: The Aftermath |
v1.16.6 |
2024-08-22 |
Unknown GetPointerWrite 51f22bc7 PC 08ad079c LR 08ad07b0 |
Obscure: The Aftermath |
v1.17.1 |
2024-08-22 |
sceDmacMemcpy(dest=0936ae60, src=094eea00, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-20 |
sceDmacMemcpy(dest=0936ee60, src=096d0a40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.3 |
2024-08-16 |
sceDmacMemcpy(dest=086fb940, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.17.3 |
2024-08-16 |
sceDmacMemcpy(dest=09372e60, src=094ca4c0, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-11 |
ReadFromHardware: Invalid address 00000378 near PC 08a77084 LR 08a77670 |
Obscure: The Aftermath |
v1.17.1 |
2024-08-11 |
Branch in Jump delay slot at 09ffe784 in block starting at 09ffe784 |
Obscure: The Aftermath |
v1.17.1 |
2024-08-11 |
Jump to invalid address: 07ffac00 |
Obscure: The Aftermath |
v1.17.1 |
2024-08-10 |
sceDmacMemcpy(dest=084e0fc0, src=09396a00, size=203328): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-10 |
sceDmacMemcpy(dest=09376e60, src=09a30d80, size=8192): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-08-03 |
sceDmacMemcpy(dest=09370e60, src=09a8ae40, size=8192): overlapping read |
Obscure: The Aftermath |
v1.9.4 |
2024-07-26 |
sceDmacMemcpy(dest=085172c0, src=09396a00, size=262144): overlapping read |
Obscure: The Aftermath |
v1.17.1 |
2024-07-21 |
WriteToHardware: Invalid address 000000e8 near PC 08a58394 LR 08a58394 |
Obscure: The Aftermath |
v1.17.1 |
2024-07-21 |
WriteToHardware: Invalid address 00000390 near PC 08a58394 LR 08a58394 |