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 |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-25 |
sceDmacMemcpy(dest=041b2800, src=095d1510, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.9.4 |
2024-04-23 |
sceDmacMemcpy(dest=041e7c00, src=09362cc0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.9.4 |
2024-04-23 |
sceDmacMemcpy(dest=041ec400, src=09945e10, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.9.4 |
2024-04-23 |
sceDmacMemcpy(dest=041c3c00, src=0927dc10, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-21 |
sceDmacMemcpy(dest=041a9800, src=095dc534, size=3072): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-21 |
sceDmacMemcpy(dest=041ebc00, src=09199090, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-20 |
sceDmacMemcpy(dest=041ebc00, src=0929fe10, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-20 |
sceDmacMemcpy(dest=041c1000, src=092aa7a0, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-26 |
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].
01f14484:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f14484:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1 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 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 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 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_depthRange;
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;
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 = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + 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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir1, toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
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);
lightSum0.rgb += (u_lightambient2 * 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);
lig |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-19 |
sceDmacMemcpy(dest=041a2c00, src=09813570, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-20 |
sceDmacMemcpy(dest=041d3800, src=094b6a30, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-19 |
sceDmacMemcpy(dest=041b1000, src=0933aa80, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.12.3 |
2024-04-19 |
sceDmacMemcpy(dest=041b2400, src=09af2a30, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-18 |
sceDmacMemcpy(dest=041b4400, src=09701150, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-04-18 |
sceDmacMemcpy(dest=041df000, src=096e0cd0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-17 |
sceDmacMemcpy(dest=04199000, src=09bcea40, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-17 |
sceDmacMemcpy(dest=041fbc00, src=094d3ed0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.9.4 |
2024-04-16 |
sceDmacMemcpy(dest=041ae400, src=091d7bf0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-16 |
sceDmacMemcpy(dest=041a4c00, src=0934c350, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-17 |
sceDmacMemcpy(dest=041d0c00, src=090e0280, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-14 |
sceDmacMemcpy(dest=041f5000, src=0943f114, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-13 |
sceDmacMemcpy(dest=041e7400, src=091a4650, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-13 |
sceDmacMemcpy(dest=041d5000, src=091d9000, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-04-09 |
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 r4p0-00rel0 [Revision 96995].
01f18444:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:2 MatUp:1
#version 100
// Driver: Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f18444:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:2 MatUp:1
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform 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_depthRange;
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;
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 = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + 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 * diffuseColor) * max(ldot, 0.0);
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);
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);
lightSum0.rgb += (u_lightambient2 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += |
Tomb Raider: Legend™ |
v1.9.4 |
2024-04-06 |
sceDmacMemcpy(dest=041ba800, src=09579720, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-31 |
sceDmacMemcpy(dest=041e0000, src=09468640, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-30 |
sceDmacMemcpy(dest=041a2c00, src=09648dc0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-29 |
sceDmacMemcpy(dest=041bac00, src=0945a840, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-29 |
sceDmacMemcpy(dest=041bb800, src=095464e0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-29 |
ReadFromHardware: Invalid address 27be002c near PC 08aca758 LR 08aca4dc |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-29 |
ReadFromHardware: Invalid address 27be0028 near PC 08aca754 LR 08aca4dc |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-28 |
sceDmacMemcpy(dest=041a5800, src=091ad1a0, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-28 |
sceDmacMemcpy(dest=041a3800, src=098c4690, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-28 |
sceDmacMemcpy(dest=041c5c00, src=090cc7a0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-26 |
sceDmacMemcpy(dest=041f0800, src=08ff2850, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-26 |
sceDmacMemcpy(dest=041a4400, src=098c4690, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-26 |
sceDmacMemcpy(dest=041ce800, src=08f30e60, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-25 |
sceDmacMemcpy(dest=041a1800, src=091edad0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-25 |
sceDmacMemcpy(dest=041d2800, src=09457110, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-25 |
sceDmacMemcpy(dest=0419a400, src=09ae58c0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-25 |
sceDmacMemcpy(dest=041b2800, src=0958f1f0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=041d1000, src=092b2000, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=041a5400, src=0925fda0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=041cf800, src=090ee330, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=041f6000, src=0958dde0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=041b9000, src=09779d40, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-24 |
sceDmacMemcpy(dest=0419b000, src=0940f6b4, size=2048): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041fe400, src=08e62f70, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041e0000, src=097df7d0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041b1000, src=0956eba0, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=0419c800, src=09a1f630, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041d1800, src=0912f760, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041d1800, src=090c5960, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-23 |
sceDmacMemcpy(dest=041f7c00, src=09130b70, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041a2400, src=090c3140, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041e5c00, src=094380b0, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041b5800, src=09b40a10, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041a3c00, src=09622820, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041c6c00, src=08ef00b0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041fd800, src=09574900, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041a1400, src=09744760, size=8192): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=04199000, src=08e70cc0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-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 r4p1-01rel0 [Revision 96995].
01f14484:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f14484:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 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_depthRange;
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;
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 = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + 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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir1, toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
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);
lightSum0.rgb += (u_lightambient2 * 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 += |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-22 |
sceDmacMemcpy(dest=041a1400, src=0952f490, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=041a3c00, src=099a0200, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=041a6800, src=09552480, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=0419cc00, src=099a1610, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=04199000, src=0976b560, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=041a0800, src=0956c680, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-21 |
sceDmacMemcpy(dest=0419b000, src=095937c0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-18 |
sceDmacMemcpy(dest=0419d400, src=09aa62b0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.16.6 |
2024-03-17 |
sceDmacMemcpy(dest=041ca000, src=08db1dc0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-16 |
sceDmacMemcpy(dest=041bd400, src=091d4050, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-15 |
sceDmacMemcpy(dest=041c3800, src=0964e9b0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-16 |
Can't draw: No current render step. Step count: 0 |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-13 |
sceDmacMemcpy(dest=0419f400, src=0903b6b0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-10 |
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 r5p0-01rel0 [Revision 96995].
01f14484:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f14484:00000b08 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 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_depthRange;
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;
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 = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + 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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir1, toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
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);
lightSum0.rgb += (u_lightambient2 * 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 += |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-08 |
sceDmacMemcpy(dest=041a7800, src=08e60750, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-08 |
sceDmacMemcpy(dest=041b4800, src=09356b70, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.16.5 |
2024-03-08 |
sceDmacMemcpy(dest=041f4800, src=095ca184, size=4096): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-06 |
sceDmacMemcpy(dest=041a3400, src=091d9010, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-06 |
sceDmacMemcpy(dest=041fdc00, src=0927d300, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041a1400, src=093eeea0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041cec00, src=09a49f00, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041a0c00, src=09b190c0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041e3800, src=091d6870, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-03 |
sceDmacMemcpy(dest=041b3400, src=0956f0f0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-13 |
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-00rel0 [Revision 96995].
01f14484:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull
#version 100
// Driver: Mali-400 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01f14484:00000b28 HWX C T N Light: 0: c:0 t:1 1: c:0 t:2 2: c:0 t:1 3: c:0 t:1 MatUp:1 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 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 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 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_depthRange;
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;
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 = u_matdiffuse.rgb;
vec3 specularColor = u_matspecular.rgb;
lowp vec4 lightSum0 = u_ambient * ambientColor + 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 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = dot(u_lightdir1, toLight);
if (angle >= u_lightangle_spotCoef1.x) {
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef1.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef1.y));
} else {
lightScale = 0.0;
}
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
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);
lightSum0.rgb += (u_lightambient2 * 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);
li |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-03 |
sceDmacMemcpy(dest=041e4000, src=09587750, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-03 |
sceDmacMemcpy(dest=041ec000, src=091d67e0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-03-02 |
sceDmacMemcpy(dest=041c7c00, src=095023d0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.4.2 |
2024-03-01 |
sceDmacMemcpy(dest=041a1400, src=095c6de0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.4.2 |
2024-03-01 |
sceDmacMemcpy(dest=041af400, src=095b69b0, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.4.2 |
2024-03-01 |
sceDmacMemcpy(dest=041c7800, src=095c96f0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.4.2 |
2024-03-01 |
sceDmacMemcpy(dest=041a1400, src=093e9720, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.16.6 |
2024-02-24 |
sceDmacMemcpy(dest=04199000, src=0994be60, size=9216): overlapping read |
Tomb Raider: Legend™ |
v1.16.6 |
2024-02-23 |
sceDmacMemcpy(dest=0419b400, src=09796e80, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-02-22 |
sceDmacMemcpy(dest=041d7c00, src=0955c460, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.14.4 |
2024-02-20 |
sceDmacMemcpy(dest=041a0c00, src=0963f3b0, size=5120): overlapping read |
Tomb Raider: Legend™ |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=041e9800, src=09563550, size=5120): overlapping read |