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 |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-26 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c1c7d4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-26 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c1c7d4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b56f04, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b56f04, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-22 |
WriteToHardware: Invalid address 00000000 near PC 0895609c LR 0895609c |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-15 |
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 r2p1_05rel0 [Revision 96995].
01f10444:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 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))
// 01f10444:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
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 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 = u_matambientalpha;
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;
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;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = mul(length(normal) == 0.0 ? vec4(0.0, 0.0, 0.0, 1.0) : vec4(normalize(normal), 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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 * |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-15 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09afaed4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-15 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09afaed4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-03-10 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b53644, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-03-10 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b53644, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-03-10 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b7a6e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-03-10 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b7a6e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-01 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bae7e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-03-01 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bae7e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c5fce4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c5fce4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c7a624, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c7a624, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c4f4e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c4f4e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c7c854, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c7c854, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09d36c34, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09d36c34, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-13 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bd5bb4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-13 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bd5bb4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c3fa84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c3fa84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.6.3 |
2025-02-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c06a04, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.6.3 |
2025-02-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c06a04, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2025-02-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09ba0074, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2025-02-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09ba0074, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-03 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09af9ec4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-02-03 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09af9ec4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-30 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b58e34, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-30 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b58e34, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-29 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09affdd4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09af6b74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09af6b74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09af8634, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09af8634, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-25 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c02a74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-25 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c02a74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1-792-g1a03d60022 |
2025-01-20 |
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].
01710444:00000328 HWX C N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 MatUp:1 Cull
#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))
// 01710444:00000328 HWX C N Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 MatUp:1 Cull
attribute vec3 position;
attribute mediump vec3 normal;
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 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;
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;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = splat3(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;
}
|
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-20 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09baa844, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-20 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09baa844, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-18 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b18a74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-18 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b18a74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-01-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09ae8124, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2025-01-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09ae8124, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:01a0d022 Tex TexAlpha Fog 2x StenToAlpha StenUniform TFuncMod AlphaTest >
#version 100
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
uniform float u_stencilReplaceValue;
varying vec4 v_color0;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
varying mediump vec3 v_texcoord;
void main() {
vec4 t = texture2D(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
float aResult = texture2D(testtex, vec2(v.a * 0.996094 + 0.001953, 0)).a;
if (aResult < 0.5) discard;
gl_FragColor = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (failed)
#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 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 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() {
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);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
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_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax |
Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:01a00002 Tex Fog 2x StenToAlpha StenUniform TFuncMod
#version 100
precision lowp float;
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
varying vec4 v_color0;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
varying mediump vec3 v_texcoord;
void main() {
vec4 t = texture2D(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = vec4(v.rgb, u_stencilReplaceValue);
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (failed)
#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 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 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() {
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);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
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_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
gl_Position = outP |
Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
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].
01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1
#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 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 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() {
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);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
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_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
gl_Position = outPos;
}
|
Assassin's Creed: Bloodlines™ |
v1.7.1 |
2025-01-16 |
Error in shader program link: info: L0101 All attached shaders must be compiled prior to linking
fs: 00000000:00a00002 Tex Fog 2x TFuncMod
#version 100
precision lowp float;
uniform sampler2D tex;
varying vec4 v_color0;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
varying mediump vec3 v_texcoord;
void main() {
vec4 t = texture2D(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0);
float fogCoef = clamp(v_fogdepth, 0.0, 1.0);
v = mix(vec4(u_fogcolor, v.a), v, fogCoef);
gl_FragColor = v;
}
vs: 01f10444:00000b1c HWX C T N Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:0 MatUp:1 (failed)
#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 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 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() {
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);
vec3 toLight;
lowp vec3 diffuse;
float distance;
lowp float lightScale;
mediump float ldot;
toLight = u_lightpos0 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse0 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient0 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = max(dot(toLight, worldnormal), 0.0);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3;
ldot = max(dot(toLight, worldnormal), 0.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * ldot;
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
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_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.w = u_cullRangeMax.w;
}
}
gl_Position = outPos;
}
|
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-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 r4p0-00rel0 [Revision 96995].
01f14440:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 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))
// 01f14440:00090b20 HWX T N TexProjNNrm UVMtx Light: 0: c:0 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
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 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 = u_matambientalpha;
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;
toLight = u_lightpos0;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse);
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
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 += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = mul(length(normal) == 0.0 ? vec4(0.0, 0.0, 0.0, 1.0) : vec4(normalize(normal), 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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 * |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-11 |
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].
01f14444:00050b28 HWX C T N TexProjUV UVMtx Light: 0: c:0 t:1 1: c:0 t:1 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))
// 01f14444:00050b28 HWX C T N TexProjUV UVMtx Light: 0: c:0 t:1 1: c:0 t:1 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 mediump mat4 u_texmtx;
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 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;
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);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * diffuseColor) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * ambientColor.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = mul(vec4(texcoord.xy, 0.0, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.0);
v_fogdepth = (viewPos.z + |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bd3954, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bd3954, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-07 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b6a2e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-07 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b6a2e4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-06 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b73f74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-06 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b73f74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09d09234, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-05 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09d09234, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.8.0 |
2025-01-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b41624, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.8.0 |
2025-01-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b41624, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bc4644, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2025-01-02 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bc4644, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b56b74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-28 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b56b74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-26 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b18a84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-26 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b18a84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-25 |
sceKernelLoadModule: unsupported options size=%08x, flags=%08x, pos=%d, access=%d, data=%d, text=%dsc�B�j�EDao�M/dqDF�$u�7�1port��op&i;Nr si�'�00000014, flags=00000000, pos=1, access=1, data=2, text=2 |
Assassin's Creed: Bloodlines™ |
v1.9.4 |
2024-12-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].
01f10044:00050b5c HWX C T N Fog Tex TexProjUV UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:0 3: c:0 t:0 MatUp:1
#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 mediump mat4 u_texmtx;
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 lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
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() {
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);
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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient0 * color0.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 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse);
toLight = u_lightpos3;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = (u_texmtx * vec4(texcoord.xy, 0.0, 1.0)).xyz * vec3(u_uvscaleoffset.xy, 1.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_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.z < u_cullRangeMin.z || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = vec4(u_cullRangeMax.w);
}
}
gl_Position = outPos;
}
|
Assassin's Creed: Bloodlines™ |
v1.18 |
2024-12-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b64ba4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18 |
2024-12-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b64ba4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-16 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c4b3f4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-16 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c4b3f4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.14.4 |
2024-12-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-00dev0 [Revision 96995].
01710444:00000338 HWX C N Tex Light: 0: c:0 t:1 1: c:0 t:1 2: 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))
// 01710444:00000338 HWX C N Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 MatUp:1 Cull
attribute vec3 position;
attribute mediump vec3 normal;
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 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;
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;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = splat3(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;
}
|
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-09 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09d97044, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-12-09 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09d97044, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-12-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c36ee4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-12-08 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c36ee4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.13.2 |
2024-11-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c0dc84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.13.2 |
2024-11-27 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c0dc84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.16.6 |
2024-11-24 |
__KernelStopThread: thread 394 does not exist (helper deleted) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b52e84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b52e84, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09c1ba74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-22 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09c1ba74, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-21 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b623b4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.18.1 |
2024-11-21 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09b623b4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.4-1 |
2024-11-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bca6c4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.4-1 |
2024-11-17 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bca6c4, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-16 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09e60c64, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-16 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09e60c64, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-13 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09bf5134, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-13 |
UNIMPL sceIoDevctl("usbpspcm:", 03415001, 09bf5134, 4, 00000000, 0) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-12 |
__KernelStopThread: thread 442 does not exist (ApctlThread deleted) |
Assassin's Creed: Bloodlines™ |
v1.17.1 |
2024-11-07 |
UNIMPL sceIoDevctl("usbpspcm:", 03415002, 09b793b4, 4, 00000000, 0) |