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.14.2 |
2024-03-16 |
sceDmacMemcpy(dest=041bd000, src=0904d0b0, size=8192): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-16 |
sceDmacMemcpy(dest=041d4800, src=091d90a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.2 |
2024-03-15 |
sceDmacMemcpy(dest=041ec800, src=099e9420, size=9216): overlapping read |
Tomb Raider : Legend |
v1.8.0 |
2024-03-15 |
sceDmacMemcpy(dest=041bc800, src=0929c880, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.2 |
2024-03-15 |
sceDmacMemcpy(dest=041c4000, src=08db41a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-14 |
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 r6p2-01rel0 [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-400 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.17.1 |
2024-03-14 |
sceDmacMemcpy(dest=041e1800, src=09937e70, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-13 |
sceDmacMemcpy(dest=041e8c00, src=091d7c90, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-13 |
sceDmacMemcpy(dest=041ae400, src=0982b750, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-12 |
sceDmacMemcpy(dest=041acc00, src=0971d7a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.9.4 |
2024-03-12 |
ReadFromHardware: Invalid address af9208b4 near PC af9208b4 LR 08aca608 |
Tomb Raider : Legend |
v1.9.4 |
2024-03-12 |
ReadFromHardware: Invalid address 7d507949 near PC 7d507949 LR 08aca608 |
Tomb Raider : Legend |
v1.17.1 |
2024-03-11 |
sceDmacMemcpy(dest=041f8400, src=09516020, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.2 |
2024-03-10 |
sceDmacMemcpy(dest=041da400, src=08f3a560, size=8192): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-03-09 |
sceDmacMemcpy(dest=041c8800, src=095d5ee0, size=9216): overlapping read |
Tomb Raider : Legend |
v1.9.4 |
2024-03-08 |
sceDmacMemcpy(dest=041ce800, src=0965b2a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-03-07 |
sceDmacMemcpy(dest=041a4c00, src=09388160, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-03-07 |
sceDmacMemcpy(dest=041b1800, src=0904cf40, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-06 |
sceDmacMemcpy(dest=0419f000, src=09332b60, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-06 |
sceDmacMemcpy(dest=041b8000, src=08e25120, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=0419b400, src=09b72530, size=8192): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=04199000, src=09b684a0, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041b4c00, src=09c95080, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=04199000, src=091b0400, size=66560): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041bd000, src=0953f690, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041fe800, src=096c2410, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041b9c00, src=09160690, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-09 |
sceDmacMemcpy(dest=041ea000, src=08ea5010, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-05 |
sceDmacMemcpy(dest=041ff000, src=091c1844, size=4096): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=04199000, src=0916c9a0, size=66560): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=04199000, src=09017e10, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041be800, src=0919c830, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041a8c00, src=098ef1c0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041a1000, src=094863e0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041ed400, src=094e3820, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-04 |
sceDmacMemcpy(dest=041eb800, src=09849440, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-02 |
sceDmacMemcpy(dest=041d2000, src=09c78750, size=8192): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-03-02 |
sceDmacMemcpy(dest=041c6000, src=09c3f330, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-03-02 |
sceDmacMemcpy(dest=0419c400, src=09668f14, size=2048): overlapping read |
Tomb Raider : Legend |
v1.11.3 |
2024-02-28 |
sceDmacMemcpy(dest=041e3000, src=09502400, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-28 |
sceDmacMemcpy(dest=0419b800, src=09763660, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-27 |
00000000=sceDisplaySetHoldMode(00000001): unsupported |
Tomb Raider : Legend |
v1.17.1 |
2024-02-26 |
sceDmacMemcpy(dest=041d5400, src=091d8850, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1-13-gd832f9601 |
2024-02-25 |
sceDmacMemcpy(dest=041f1c00, src=096f2170, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.1 |
2024-02-25 |
sceDmacMemcpy(dest=0419fc00, src=091d6870, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-25 |
sceDmacMemcpy(dest=041eb400, src=091d8830, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-22 |
sceDmacMemcpy(dest=041ca400, src=094a2280, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-22 |
sceDmacMemcpy(dest=041bb800, src=095e82d0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-22 |
sceDmacMemcpy(dest=041fb400, src=0961f590, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-22 |
sceDmacMemcpy(dest=041a6400, src=09039670, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-21 |
sceDmacMemcpy(dest=041e6000, src=08e24790, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-21 |
sceDmacMemcpy(dest=041b3400, src=0984a370, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-20 |
sceDmacMemcpy(dest=041b0000, src=098624b0, size=8192): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-20 |
sceDmacMemcpy(dest=041a9c00, src=0979b1a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-20 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=00000137, pos=0, access=1, data=2, text=2 |
Tomb Raider : Legend |
v1.17.1 |
2024-02-20 |
sceDmacMemcpy(dest=041b8000, src=09186e40, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=041c0800, src=09b195d0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=041ef800, src=097a22d0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=041d2c00, src=092dd790, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=0419f000, src=097bca24, size=1024): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=04199000, src=09662940, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-19 |
sceDmacMemcpy(dest=041f1400, src=091db070, size=5120): overlapping read |
Tomb Raider : Legend |
v1.9.4 |
2024-02-18 |
sceDmacMemcpy(dest=041b2c00, src=092cdd30, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-18 |
sceDmacMemcpy(dest=041a3c00, src=096d94e0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.9.4 |
2024-02-18 |
sceDmacMemcpy(dest=041d7400, src=09b4d2d0, size=9216): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-18 |
sceDmacMemcpy(dest=0419a400, src=091d4c20, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-17 |
sceDmacMemcpy(dest=041c4c00, src=0943bbc0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-17 |
sceDmacMemcpy(dest=041f5800, src=096ea5a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-17 |
sceDmacMemcpy(dest=041a1000, src=091d9c60, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.4 |
2024-02-17 |
80631003=sceAtracSetAA3DataAndGetID(08c60dc0, 000003a0, 000003a0, 09fbba6c[ffffffff]): invalid ea3 magic bytes |
Tomb Raider : Legend |
v1.12.3 |
2024-02-16 |
sceDmacMemcpy(dest=04199000, src=091dc480, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-16 |
sceDmacMemcpy(dest=0419b400, src=091d9110, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-16 |
sceDmacMemcpy(dest=041eac00, src=091d54e0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.8.0 |
2024-02-15 |
sceDmacMemcpy(dest=041fbc00, src=0932a860, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-15 |
sceDmacMemcpy(dest=04199000, src=09239e70, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17.1 |
2024-02-15 |
sceDmacMemcpy(dest=041f0400, src=09456c80, size=5120): overlapping read |
Tomb Raider : Legend |
v1.8.0 |
2024-02-15 |
sceDmacMemcpy(dest=041e3800, src=091d9c40, size=5120): overlapping read |
Tomb Raider : Legend |
v1.14.4 |
2024-02-15 |
__KernelStopThread: thread 1414 does not exist (ApctlThread deleted) |
Tomb Raider : Legend |
v1.9.4 |
2024-02-13 |
sceDmacMemcpy(dest=041b7000, src=09622200, size=8192): overlapping read |
Tomb Raider : Legend |
v1.9.4 |
2024-02-12 |
sceDmacMemcpy(dest=0419c400, src=091d6880, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-12 |
sceDmacMemcpy(dest=041fd000, src=09aa0a20, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-12 |
sceDmacMemcpy(dest=041ad400, src=0950d0f0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17 |
2024-02-11 |
sceDmacMemcpy(dest=041e9c00, src=095fac70, size=9216): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-10 |
sceDmacMemcpy(dest=0419d800, src=099f0e10, size=5120): overlapping read |
Tomb Raider : Legend |
v1.10.3 |
2024-02-10 |
sceDmacMemcpy(dest=04199000, src=096e80f0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17 |
2024-02-10 |
sceDmacMemcpy(dest=041a9800, src=091d4060, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-09 |
sceDmacMemcpy(dest=041aa400, src=09689954, size=4096): overlapping read |
Tomb Raider : Legend |
v1.6.3 |
2024-02-08 |
sceDmacMemcpy(dest=04199000, src=08ea2420, size=5120): overlapping read |
Tomb Raider : Legend |
v1.6.3 |
2024-02-08 |
sceDmacMemcpy(dest=041b3800, src=098bcc14, size=4096): overlapping read |
Tomb Raider : Legend |
v1.14.2 |
2024-02-08 |
sceDmacMemcpy(dest=0419a400, src=0984d200, size=9216): overlapping read |
Tomb Raider : Legend |
v1.12.3 |
2024-02-07 |
Error in shader program link: info: (unknown reason)
fs: 00000000:0200d002 Tex StenToAlphaDual StenUniform TFuncMod AlphaTest >
#version 320 es
#extension GL_EXT_blend_func_extended : require
#extension GL_EXT_shader_framebuffer_fetch : require
// Adreno (TM) 650 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
uniform sampler2D tex;
uniform sampler2D testtex;
uniform float u_stencilReplaceValue;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
out vec4 fragColor1;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
float aResult = texture(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) DISCARD;
fragColor0 = vec4(v.rgb, u_stencilReplaceValue);
fragColor1 = vec4(0.0, 0.0, 0.0, v.a);
}
vs: 00000000:0000001a THR C Tex
#version 320 es
// Adreno (TM) 650 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
in vec4 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj_through;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
void main() {
v_texcoord = vec3(texcoord, 1.0);
v_color0 = color0;
vec4 outPos = mul(u_proj_through, vec4(position.xyz, 1.0));
gl_Position = outPos;
}
|
Tomb Raider : Legend |
v1.17.1 |
2024-02-07 |
sceDmacMemcpy(dest=041ab400, src=091d90a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17 |
2024-02-05 |
sceDmacMemcpy(dest=041bc000, src=08db47c0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.17 |
2024-02-05 |
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: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-470 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.rg |
Tomb Raider : Legend |
v1.14.2 |
2024-02-04 |
sceDmacMemcpy(dest=04199000, src=09a088f0, size=8192): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-02-03 |
sceDmacMemcpy(dest=041c4400, src=091f6e80, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-01-30 |
sceDmacMemcpy(dest=041be800, src=09522070, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-01-30 |
sceDmacMemcpy(dest=041b3c00, src=09c352a0, size=5120): overlapping read |
Tomb Raider : Legend |
v1.16.6 |
2024-03-09 |
sceKernelLoadModule: unsupported options size=00000014, flags=7f800001, pos=0, access=1, data=1, text=1 |
Tomb Raider : Legend |
v1.16.6 |
2024-02-23 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000007, pos=0, access=1, data=2, text=2 |