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 |
RONNIE O'SULLIVANS SNOOKER |
v1.12.3-1071-g830420f0c |
2024-04-12 |
Failed to read valid video stream data from header |
eFootball Chelito 19 |
v1.12.3-1071-g830420f0c |
2024-03-29 |
avcodec_send_packet: Error decoding audio -1094995529 / bebbb1b7 |
HEROES' VS |
v1.12.3-1071-g830420f0c |
2024-02-12 |
Failed to read valid video stream data from header |
Despicable Me |
v1.13.1 |
2024-02-13 |
Failed to read valid video stream data from header |
LUNAR -HARMONY of SILVER STAR- |
v1.12.3-1071-g830420f0c |
2024-02-11 |
Failed to read valid video stream data from header |
Xyanide: Resurrection |
v1.12.3-1071-g830420f0c |
2024-01-03 |
Failed to read valid video stream data from header |
X-Men Legends 2: Rise of Apocalypse |
v1.12.3-1071-g830420f0c |
2024-01-02 |
Failed to read valid video stream data from header |
Wipeout Pure |
v1.12.3-1071-g830420f0c |
2024-01-02 |
Failed to read valid video stream data from header |
WipEout® Pulse |
v1.12.3-1071-g830420f0c |
2024-01-02 |
Failed to read valid video stream data from header |
FIFA 12 |
v1.12.3-1071-g830420f0c |
2023-12-25 |
Failed to read valid video stream data from header |
Virtua Tennis 3 |
v1.12.3-1071-g830420f0c |
2023-12-25 |
avcodec_send_packet: Error decoding audio -1094995529 / bebbb1b7 |
Death, Jr. |
v1.12.3-1071-g830420f0c |
2023-12-04 |
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 r5p1-01rel0 [Revision 96995].
01f14441:00000b3d HWX C T N LM Fog Tex Light: 0: c:1 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
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 lowp vec3 v_color1;
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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * color0.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 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;
float projZ = (projPos.z |
Death, Jr. |
v1.12.3-1071-g830420f0c |
2023-12-04 |
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 r5p1-01rel0 [Revision 96995].
01f14441:00000b39 HWX C T N LM Tex Light: 0: c:1 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:1 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
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 vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * u_matdiffuse) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * color0.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 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos2 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt2, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = clamp(lightSum1, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
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_c |
DYNASTY WARRIORS Vol.2 |
v1.16.6-236-g53df5093d |
2024-01-12 |
Failed to read valid video stream data from header |
DYNASTY WARRIORS Vol.2 |
v1.12.3-1071-g830420f0c |
2023-11-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 r5p1-01rel0 [Revision 96995].
01f74441:00000b3c HWX C T N Fog Tex Light: 0: c:1 t:0 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:7 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
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 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);
lowp vec4 lightSum0 = u_ambient * color0 + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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 * color0.rgb) * max(ldot, 0.0);
if (ldot >= 0.0) {
ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
if (u_matspecular.a <= 0.0) {
ldot = 1.0;
} else {
ldot = pow(max(ldot, 0.0), u_matspecular.a);
}
if (ldot > 0.0)
lightSum1 += u_lightspecular0 * color0.rgb * ldot ;
}
lightSum0.rgb += (u_lightambient0 * color0.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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * color0.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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(clamp(lightSum0, 0.0, 1.0) + vec4(lightSum1, 0.0), 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;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * ou |
Tenchu: Shadow Assassins |
v1.12.3-1071-g830420f0c |
2023-11-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 r5p1-01rel0 [Revision 96995].
01f74444:00000b3d HWX C T N LM Fog Tex Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 3: c:0 t:1 MatUp:7 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
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);
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 * color0.rgb) * 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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * color0.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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
toLight = u_lightpos3 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
lightScale = clamp(1.0 / dot(u_lightatt3, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
diffuse = (u_lightdiffuse3 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient3 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = splat3(0.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;
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_cullR |
戦場のヴァルキュリア3 |
v1.16.6-236-g53df5093d |
2024-01-02 |
Failed to read valid video stream data from header |
God of War: Chains of Olympus |
v1.12.3-1071-g830420f0c |
2024-01-25 |
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 r5p1-01rel0 [Revision 96995].
01730444:00010b39 HWX C T N LM Tex TexProjPos UVMtx Light: 0: c:0 t:1 1: c:0 t:1 2: c:0 t:1 MatUp:3 Cull
#version 100
// Mali-450 MP - GLSL 100
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
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 lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
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);
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 * color0.rgb) * 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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * color0.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 * color0.rgb) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * color0.rgb + diffuse) * lightScale;
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_color1 = splat3(0.0);
v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.0);
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;
}
|
WARRIORS OROCHI 2 |
v1.17.1 |
2024-04-13 |
Failed to read valid video stream data from header |
Grand Theft Auto®: Chinatown Wars™ |
v1.12.3-1071-g830420f0c |
2023-09-20 |
avcodec_send_packet: Error decoding audio -1094995529 / bebbb1b7 |
周刊少年大乱斗 集结!顶上大决战 |
v1.12.3-1071-g830420f0c |
2023-08-03 |
Failed to read valid video stream data from header |
FINAL FANTASY 零式 ディスク1 |
v1.12.3-1071-g830420f0c |
2024-01-03 |
Failed to read valid video stream data from header |
Grand Theft Auto: Liberty City Stories |
v1.13.1 |
2024-01-05 |
Failed to read valid video stream data from header |
ワンピース ROMANCE DAWN 冒険の夜明け |
v1.12.3-1071-g830420f0c |
2023-06-27 |
Failed to read valid video stream data from header |
eFootball Chelito 19 |
v1.15.4 |
2024-03-29 |
Failed to read valid video stream data from header |
PATAPON™ 2 |
v1.14.4-987-gf28ac8fdc |
2023-11-19 |
Failed to read valid video stream data from header |
Sonic Rivals™ |
v1.12.3-1071-g830420f0c |
2023-02-25 |
Failed to read valid video stream data from header |
GITAROO MAN Lives! |
v1.13.1 |
2023-10-15 |
Failed to read valid video stream data from header |
初音ミク -Project DIVA- 2nd |
v1.12.3-1071-g830420f0c |
2023-02-21 |
Failed to read valid video stream data from header |
DJMAX Fever |
v1.12.3-1071-g830420f0c |
2023-02-24 |
Failed to read valid video stream data from header |
Death, Jr. |
v1.13.2-1944-g3e481634a |
2023-12-04 |
Failed to read valid video stream data from header |
DJMAX PORTABLE BLACK SQUARE |
v1.12.3-1071-g830420f0c |
2023-02-25 |
Failed to read valid video stream data from header |
B-Boy |
v1.12.3-1071-g830420f0c |
2023-01-27 |
Unexpected mpeg first timestamp: 700000a561 / 481036379489 |
Gran Turismo® |
v1.14.4 |
2023-10-22 |
Failed to read valid video stream data from header |
FINAL FANTASY TACTICS®: THE WAR OF THE LIONS™ |
v1.13.2-1944-g3e481634a |
2024-02-17 |
Failed to read valid video stream data from header |
CRISIS CORE -FINAL FANTASY VII- |
v1.14.4-324-geef5c51c6 |
2024-03-28 |
Failed to read valid video stream data from header |
MotoGP |
v1.15.4 |
2023-09-16 |
Failed to read valid video stream data from header |
PUMPITUPZERO |
v1.12.3-1071-g830420f0c |
2023-01-08 |
Failed to read valid video stream data from header |
PUMP IT UP: EXCEED |
v1.12.3-1071-g830420f0c |
2023-01-15 |
Failed to read valid video stream data from header |
KINGDOM HEARTS Birth by Sleep |
v1.13.2-1944-g3e481634a |
2023-06-01 |
Failed to read valid video stream data from header |
悪魔城ドラキュラXクロニクル |
v1.13.1 |
2023-11-29 |
Failed to read valid video stream data from header |
DJMAX PORTABLE |
v1.12.3-1071-g830420f0c |
2023-01-10 |
Failed to read valid video stream data from header |
Audition Portable |
v1.12.3-1071-g830420f0c |
2023-01-27 |
Failed to read valid video stream data from header |
MotorStorm®: Arctic Edge |
v1.12.3-1071-g830420f0c |
2022-12-18 |
Failed to read valid video stream data from header |
WWE SmackDown! vs. RAW 2006. |
v1.13.2-1944-g3e481634a |
2023-05-09 |
Failed to read valid video stream data from header |
DJMAX PORTABLE 3 |
v1.12.3-1071-g830420f0c |
2022-12-23 |
Failed to read valid video stream data from header |
Patapon® 3 |
v1.13.2 |
2023-11-19 |
Failed to read valid video stream data from header |
MONSTER HUNTER PORTABLE 3rd |
v1.14.4 |
2023-10-12 |
Failed to read valid video stream data from header |
Virtua Tennis 3 |
v1.13.1 |
2024-01-02 |
Failed to read valid video stream data from header |
God of War®: Ghost of Sparta |
v1.16.5 |
2024-01-17 |
Failed to read valid video stream data from header |
グランツーリスモ® |
v1.13.2-1944-g3e481634a |
2023-10-14 |
Failed to read valid video stream data from header |
Tenchu: Shadow Assassins |
v1.13.2 |
2024-02-17 |
Failed to read valid video stream data from header |
RIDGE RACER |
v1.14.4-324-geef5c51c6 |
2024-01-02 |
Failed to read valid video stream data from header |
Crash™ Tag Team Racing |
v1.13.2-1944-g3e481634a |
2023-10-11 |
Failed to read valid video stream data from header |
仮面ライダー クライマックスヒーローズ フォーゼ |
v1.12.3-1071-g830420f0c |
2022-08-23 |
Failed to read valid video stream data from header |
X-Men Origins: Wolverine |
v1.13.1 |
2024-01-02 |
Failed to read valid video stream data from header |
TEKKEN DARK RESURRECTION |
v1.17.1 |
2024-04-16 |
sceNetAdhocMatchingInit(24576) at 08867bb8 |
Pro Evolution Soccer 6 |
v1.12.3-999-g97bc7a1ae |
2024-03-08 |
Failed to read valid video stream data from header |
ウルトラマン Fighting Evolution 0 |
v1.17.1 |
2024-04-18 |
sceNetAdhocMatchingInit(32768) at 088ceba4 |
Family Guy |
v1.13.2-1944-g3e481634a |
2023-07-04 |
Failed to read valid video stream data from header |
Justice League: Heroes™ |
v1.13.1 |
2023-09-23 |
Failed to read valid video stream data from header |
WWE'12 |
v1.17.1 |
2024-03-29 |
Failed to read valid video stream data from header |
WWE SmackDown vs. RAW 2011 |
v1.12.3-1071-g830420f0c |
2024-01-02 |
Failed to read valid video stream data from header |
Colin McRae Rally 2005 Plus |
v1.13.2-1944-g3e481634a |
2023-11-10 |
Failed to read valid video stream data from header |
SpongeBob SquarePants: The Yellow Avenger |
v1.17 |
2024-02-08 |
Failed to read valid video stream data from header |
Sonic Rivals™ |
v1.12.3-1071-g830420f0c |
2022-05-14 |
Failed to read valid video stream data from header |
FREE RUNNING |
v1.12.3-1071-g830420f0c |
2022-05-14 |
Failed to read valid video stream data from header |
God of War: Chains of Olympus |
v1.17.1 |
2024-04-04 |
Failed to read valid video stream data from header |
DaedalusX64 |
v1.12.3-1071-g830420f0c |
2022-11-14 |
MFIC instruction hit (70020024) at 088eb8b0 |
METAL SLUG Anthology |
v1.14.4-324-geef5c51c6 |
2023-09-18 |
Failed to read valid video stream data from header |
地球防衛軍2 PORTABLE |
v1.17.1-16-gf5450e40e |
2024-04-19 |
sceNetAdhocMatchingInit(32768) at 08970a04 |
BURNOUT DOMINATOR |
v1.13.2-1944-g3e481634a |
2023-10-13 |
Failed to read valid video stream data from header |
BURNOUT DOMINATOR |
v1.17.1-60-g7cddd09e3 |
2024-04-19 |
sceNetAdhocMatchingInit(9816) at 088fc4e8 |
GTA: Liberty City Stories |
v1.16.5 |
2024-03-29 |
Failed to read valid video stream data from header |
Jak & Daxter™: The Lost Frontier |
v1.9.3-478-gb475e7356 |
2024-03-17 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=1, access=255, data=0, text=0 |
NARUTO SHIPPUDEN: Ultimate Ninja Heroes 3 |
v1.13.1 |
2024-02-12 |
Failed to read valid video stream data from header |
Assassin's Creed: Bloodlines™ |
v1.16.6 |
2024-04-12 |
Failed to read valid video stream data from header |
Tomb Raider : Legend |
v1.14.4-324-geef5c51c6 |
2023-07-23 |
Failed to read valid video stream data from header |
SOULCALIBUR: Broken Destiny |
v1.16.6 |
2024-04-12 |
Failed to read valid video stream data from header |
NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.14.4 |
2024-04-14 |
Failed to read valid video stream data from header |
NEED FOR SPEED™ UNDERCOVER |
v1.17.1-16-gf5450e40e |
2024-03-10 |
Failed to read valid video stream data from header |
BEN 10: Protector of Earth |
v1.16.6 |
2024-01-29 |
Failed to read valid video stream data from header |
SOULCALIBUR: Broken Destiny |
v1.17.1 |
2024-04-18 |
sceIoChstat: change attr to 0000 requested |
PSP Music Center v0.1 by RNB_PSP |
v1.12.3-1071-g830420f0c |
2022-07-01 |
MFIC instruction hit (70020024) at 08be77b8 |
Spider-Man 2 |
v1.12.3-1071-g830420f0c |
2024-01-16 |
Failed to read valid video stream data from header |
DaedalusX64 |
v1.13.2 |
2022-11-14 |
sceKernelCreateThread(name=exception): unsupported attributes 00001007 |
Mega Man Maverick Hunter X |
v1.14.4 |
2023-11-14 |
Failed to read valid video stream data from header |
NARUTO SHIPPUDEN: Ultimate Ninja Heroes 3 |
v1.17.1 |
2024-04-18 |
sceIoChstat: change attr to 0000 requested |
Burnout™ Legends |
v1.13.1 |
2023-09-13 |
Failed to read valid video stream data from header |
DaedalusX64 |
v1.13.2-1351-g0746ebdb5 |
2022-11-25 |
sceGeListEnqueue: invalid address 40000000 |
DaedalusX64 |
v1.13.2-2000-gf0a905cad |
2022-11-25 |
Unimplemented HLE function scePowerLock |
DaedalusX64 |
v1.13.2-2000-gf0a905cad |
2022-11-25 |
Unimplemented HLE function sceKernelDcacheWritebackAll |
DaedalusX64 |
v1.13.2-2000-gf0a905cad |
2022-11-26 |
sceKernelCreateThread(name=MediaEngine): unsupported attributes 00001006 |
DaedalusX64 |
v1.13.2-1351-g0746ebdb5 |
2022-11-26 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=0, access=1, data=1, text=1 |
TEKKEN 6 |
v1.17.1-16-gf5450e40e |
2024-04-09 |
Failed to read valid video stream data from header |
DaedalusX64 |
v1.13.2 |
2022-11-26 |
Trying to relocate non-loaded section (null) |
Crash® of the Titans |
v1.15.4 |
2024-03-17 |
Failed to read valid video stream data from header |
NEED FOR SPEED™ MOST WANTED 5-1-0 |
v1.16.6 |
2024-03-11 |
Failed to read valid video stream data from header |
TEKKEN DARK RESURRECTION |
v1.16.6 |
2024-03-22 |
Failed to read valid video stream data from header |
Need For Speed™ Underground Rivals |
v1.15.2 |
2024-01-09 |
Failed to read valid video stream data from header |