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 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.16.6 |
2024-07-25 |
sceDmacMemcpy(dest=040cc000, src=093daed0, size=32768): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-25 |
sceDmacMemcpy(dest=0413d200, src=093f4710, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-24 |
sceDmacMemcpy(dest=09695600, src=09694600, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-23 |
sceDmacMemcpy(dest=096a9d40, src=096a7d40, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x1271E8F8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x08950D80(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x08950D80(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-22 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0F4D50(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-21 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0FAC6348(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0FAC6348(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.11.3 |
2024-07-21 |
sceDmacMemcpy(dest=096b0f10, src=096aef10, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F0E2528(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-20 |
sceDmacMemcpy(dest=097535f0, src=0974f5f0, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C233950(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-20 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C233950(142,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C233950(142,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec2 u_fogcoef : register(c18);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
float v_fogdepth: TEXCOORD1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C1FB8E8(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0F7C8050(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0F7C8050(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.12.3 |
2024-07-19 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x0C394160(140,16-55): error X4505: maximum temp register index exceeded
C:\Program Files\PPSSPP\Shader@0x0C394160(140,12-69): error X4505: maximum temp register index exceeded
/ code: #define vec2 float2
#define vec3 float3
#define vec4 float4
#define ivec2 int2
#define ivec4 int4
#define mat4 float4x4
#define mat3x4 float4x3
#define splat3(x) vec3(x, x, x)
#define lowp
#define mediump
#define highp
#pragma warning( disable : 3571 )
mat4 u_proj : register(c0);
vec4 u_matambientalpha : register(c20);
mat3x4 u_world : register(c11);
mat3x4 u_view : register(c8);
vec4 u_uvscaleoffset : register(c17);
vec3 u_lightpos0 : register(c24);
vec3 u_lightatt0 : register(c32);
vec3 u_lightdir0 : register(c28);
vec4 u_lightangle_spotCoef0 : register(c36);
vec3 u_lightambient0 : register(c48);
vec3 u_lightdiffuse0 : register(c40);
vec3 u_lightspecular0 : register(c44);
vec3 u_lightpos1 : register(c25);
vec3 u_lightatt1 : register(c33);
vec3 u_lightdir1 : register(c29);
vec4 u_lightangle_spotCoef1 : register(c37);
vec3 u_lightambient1 : register(c49);
vec3 u_lightdiffuse1 : register(c41);
vec3 u_lightspecular1 : register(c45);
vec3 u_lightpos2 : register(c26);
vec3 u_lightatt2 : register(c34);
vec3 u_lightdir2 : register(c30);
vec4 u_lightangle_spotCoef2 : register(c38);
vec3 u_lightambient2 : register(c50);
vec3 u_lightdiffuse2 : register(c42);
vec3 u_lightspecular2 : register(c46);
vec3 u_lightpos3 : register(c27);
vec3 u_lightatt3 : register(c35);
vec3 u_lightdir3 : register(c31);
vec4 u_lightangle_spotCoef3 : register(c39);
vec3 u_lightambient3 : register(c51);
vec3 u_lightdiffuse3 : register(c43);
vec3 u_lightspecular3 : register(c47);
vec4 u_ambient : register(c19);
vec3 u_matdiffuse : register(c21);
vec4 u_matspecular : register(c22);
vec3 u_matemissive : register(c23);
vec4 u_cullRangeMin : register(c80);
vec4 u_cullRangeMax : register(c81);
struct VS_IN {
vec2 texcoord : TEXCOORD0;
vec3 normal : NORMAL;
vec3 position : POSITION;
};
struct VS_OUT {
vec3 v_texcoord : TEXCOORD0;
vec4 v_color0 : COLOR0;
vec3 v_color1 : COLOR1;
vec4 gl_Position : POSITION;
};
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
VS_OUT main(VS_IN In) {
VS_OUT Out;
vec2 texcoord = In.texcoord;
vec3 normal = In.normal;
vec3 position = In.position;
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 * u_matambientalpha + vec4(u_matemissive, 0.0);
lowp vec3 lightSum1 = splat3(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);
angle = length(u_lightdir0) == 0.0 ? 0.0 : dot(normalize(u_lightdir0), toLight);
if (angle >= u_lightangle_spotCoef0.x) {
lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0) * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
} else {
lightScale = 0.0;
}
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 * lightScale;
}
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse) * lightScale;
toLight = u_lightpos1 - worldpos;
distance = length(toLight);
toLight /= distance;
ldot = dot(toLight, worldnormal);
angle = length(u_lightdir1) == 0.0 ? 0.0 : dot(normalize(u_lightdir1), toLight);
if (angle >= u_lightangle_spotCoef1.x) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-21 |
sceDmacMemcpy(dest=09690e80, src=09680e80, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-18 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=0000001c, pos=0, access=1, data=2, text=2 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-18 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=08a1d400, pos=0, access=1, data=1, text=1 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.15.3 |
2024-07-18 |
sceDmacMemcpy(dest=09744bb0, src=09742bb0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.15.3 |
2024-07-18 |
sceDmacMemcpy(dest=0980c460, src=0980b460, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-18 |
80000107=sceDisplaySetFrameBuf(04000000, 512, 0, 0): must change latched framebuf first |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-17 |
sceDmacMemcpy(dest=040cc000, src=08d30240, size=131072): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-17 |
sceDmacMemcpy(dest=097b7a20, src=097b6a20, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.16.6 |
2024-07-16 |
sceDmacMemcpy(dest=096ce960, src=096cc960, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-15 |
sceDmacMemcpy(dest=096c0150, src=096be150, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.3 |
2024-07-14 |
__KernelStopThread: thread 423 does not exist (ApctlThread deleted) |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-11 |
sceDmacMemcpy(dest=09655090, src=09653090, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.3 |
2024-07-07 |
sceDmacMemcpy(dest=0975f220, src=0975d220, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.0 |
2024-07-06 |
sceDmacMemcpy(dest=096c0aa0, src=096beaa0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-08 |
sceDmacMemcpy(dest=040cc000, src=09202bb0, size=32768): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-06 |
sceDmacMemcpy(dest=096b96b0, src=096b76b0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-06 |
sceDmacMemcpy(dest=098f94b0, src=098d94b0, size=131072): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-04 |
80630007=sceAtracSetData(2, 08d4b180, 00004500): atracID uses different codec type than data |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.13.2 |
2024-07-04 |
sceDmacMemcpy(dest=096ddaa0, src=096dcaa0, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-01 |
sceDmacMemcpy(dest=096e91f0, src=096e71f0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-07-01 |
sceDmacMemcpy(dest=04105400, src=09094120, size=2048): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-30 |
sceDmacMemcpy(dest=096ea620, src=096e8620, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17 |
2024-06-28 |
sceDmacMemcpy(dest=096f3680, src=096e3680, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-28 |
sceDmacMemcpy(dest=095868e0, src=095768e0, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-26 |
Unknown GetPointer 00000008 PC 0898881c LR 0898881c |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-26 |
Unknown GetPointerWrite 00000007 PC 089c42cc LR 0890e6cc |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-26 |
sceDmacMemcpy(dest=096125d0, src=096105d0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-24 |
sceDmacMemcpy(dest=0968e120, src=0967e120, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-23 |
sceDmacMemcpy(dest=09547060, src=09537060, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-22 |
sceDmacMemcpy(dest=09652cc0, src=09642cc0, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-19 |
Unknown GetPointerWrite 0a0014e0 PC 089c42cc LR 0897bd40 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.6.3 |
2024-06-18 |
sceDmacMemcpy(dest=097b13f0, src=097af3f0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.11.3 |
2024-07-14 |
Savedata version requested on save: 3 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.6.3 |
2024-06-16 |
sceDmacMemcpy(dest=09739840, src=09735840, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-16 |
sceDmacMemcpy(dest=09724530, src=09722530, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-16 |
sceDmacMemcpy(dest=096453c0, src=096443c0, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.6.3 |
2024-06-16 |
sceDmacMemcpy(dest=0975c620, src=0975a620, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
sceDmacMemcpy(dest=09744f80, src=09743f80, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.2 |
2024-06-15 |
sceDmacMemcpy(dest=096111a0, src=0960d1a0, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.6.3 |
2024-06-15 |
sceDmacMemcpy(dest=09780810, src=0977c810, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d588 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d4d8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d438 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d398 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d2f8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d258 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d1b8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d118 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961d078 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961cfd8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961cf38 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961ce98 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3c220 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
MIPSCompileOp: Invalid instruction 00000001 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3d720 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961cd98 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3d440 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961ccc8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961cc18 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961cb38 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961ca68 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3a240 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c998 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3a040 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c8e8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c838 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c788 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c6d8 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c628 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3d360 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Branch in Jump delay slot at 0961c578 in block starting at 0961bff0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3d080 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-15 |
Jump to invalid address: 02f3c3a0 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.10.2 |
2024-06-14 |
sceDmacMemcpy(dest=0970f290, src=0970b290, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-14 |
sceDmacMemcpy(dest=096800d0, src=096700d0, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.6.3 |
2024-06-14 |
sceDmacMemcpy(dest=096b9af0, src=096b7af0, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.4 |
2024-06-12 |
sceDmacMemcpy(dest=095b7900, src=095a7900, size=65536): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.9.4 |
2024-06-11 |
sceDmacMemcpy(dest=09755c10, src=09753c10, size=8192): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-10 |
sceDmacMemcpy(dest=0975f860, src=0975e860, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17 |
2024-06-17 |
sceDmacMemcpy(dest=041fc200, src=0921ea40, size=2048): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-09 |
sceDmacMemcpy(dest=0970de60, src=0970ce60, size=4096): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17 |
2024-06-09 |
sceDmacMemcpy(dest=09777910, src=09773910, size=16384): overlapping read |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17.1 |
2024-06-09 |
sceKernelCreateThread(name=scePsmf_library): unsupported attributes 00000006 |
はじめの一歩 PORTABLE VICTORIOUS SPIRITS |
v1.17 |
2024-06-09 |
sceDmacMemcpy(dest=096c66a0, src=096c56a0, size=4096): overlapping read |