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 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14 |
2023-11-26 |
UI scissor out of bounds in MainScreen: 64,0-1174,721 / 1600,720 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2023-11-22 |
sceDmacMemcpy(dest=4989d5dc, src=09967640, size=1024): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.16.6 |
2023-11-04 |
Can't draw: No current render step. Step count: 0 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2023-11-03 |
sceDmacMemcpy(dest=4984515c, src=09966a40, size=768): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-10-07 |
GetFramebufferCandidates(DEPTH): Multiple (5) candidate framebuffers. First will be chosen. texaddr: 04288000 offset: 0 (512x512 stride 512, CLUT16):
[C:04000000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:04044000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040cc000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040ec000/128 Z:04088000/512 X:0 Y:0 reint: false] [C:040f4000/64 Z:04088000/512 X:0 Y:0 reint: false] |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-10-05 |
80630006=sceAtracSetDataAndGetID(096ff080, 0000298c): invalid RIFF header |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-09-14 |
Unknown GetPointer 00000188 PC 088dcf98 LR 088dcfa0 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-09-12 |
sceKernelLoadModule: unsupported options size=00000014, flags=000045b0, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.15.4-1215-g6b89788e6 |
2023-08-25 |
sceKernelLoadModuleByID: unsupported options size=00000014, flags=08b792f4, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.15.4 |
2023-08-19 |
sceDmacMemcpy(dest=4984515c, src=09964d40, size=896): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.15.4 |
2023-07-24 |
__KernelStopThread: thread 337 does not exist (ApctlThread deleted) |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14 |
2023-07-14 |
UI scissor out of bounds in GameSettingsScreen: 302,0-1287,721 / 1600,720 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-07-11 |
Unknown GetPointer 00000000 PC 089b90c4 LR 089b918c |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-06-01 |
00000000=sceUtilityScreenshotInitStart(09b48870) |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-05-30 |
sceKernelLoadModule: unsupported options size=00000014, flags=09fffaf1, pos=0, access=1, data=0, text=0 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-05-30 |
sceKernelLoadModule: unsupported options size=00000014, flags=09fffaf1, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-05-26 |
Replacement rowPitch=512, but w=2048 (level=0) |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.9.3 |
2023-05-22 |
Ignoring possible render to texture at 04190000 +0x50 / 256x128 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.15.3 |
2023-05-12 |
sceKernelCreateThread(name=god_m000_Boot): unsupported attributes 00000006 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.15.3 |
2023-05-12 |
sceKernelCreateThread(name=god_menu): unsupported attributes 00000006 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.1-130-g714afb46a |
2023-05-11 |
Error in shader compilation: info: ERROR: 0:21: '=' : cannot convert from '2-component vector of int' to '2-component vector of float'
ERROR: 1 compilation errors. No code generated.
00000000:000003c2 Tex Depal TClampST TFuncMod
#version 320 es
#extension GL_EXT_shader_framebuffer_fetch : require
// Adreno (TM) 660 - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
precision highp int;
uniform sampler2D tex;
uniform vec4 u_texclamp;
uniform sampler2D pal;
uniform uint u_depal_mask_shift_off_fmt;
in lowp vec4 v_color0;
in mediump vec3 v_texcoord;
out vec4 fragColor0;
void main() {
vec2 fixedcoord = vec2(clamp(v_texcoord.x, u_texclamp.z, u_texclamp.x - u_texclamp.z), clamp(v_texcoord.y, u_texclamp.w, u_texclamp.y - u_texclamp.w));
vec2 uv = fixedcoord.xy;
vec2 uv_round;
vec2 tsize = textureSize(tex, 0).xy;
vec2 fraction;
bool bilinear = (u_depal_mask_shift_off_fmt >> 31) != 0U;
if (bilinear) {
uv_round = uv * tsize - vec2(0.5, 0.5);
fraction = fract(uv_round);
uv_round = (uv_round - fraction + vec2(0.5, 0.5)) / tsize;
} else {
uv_round = uv;
}
highp vec4 t = texture(tex, uv_round);
highp vec4 t1 = textureOffset(tex, uv_round, ivec2(1, 0));
highp vec4 t2 = textureOffset(tex, uv_round, ivec2(0, 1));
highp vec4 t3 = textureOffset(tex, uv_round, ivec2(1, 1));
uint depalMask = (u_depal_mask_shift_off_fmt & 0xFFU);
uint depalShift = (u_depal_mask_shift_off_fmt >> 8) & 0xFFU;
uint depalOffset = ((u_depal_mask_shift_off_fmt >> 16) & 0xFFU) << 4;
uint depalFmt = (u_depal_mask_shift_off_fmt >> 24) & 0x3U;
uvec4 col; uint index0; uint index1; uint index2; uint index3;
switch (int(depalFmt)) {
case 0:
col = uvec4(t.rgb * vec3(31.99, 63.99, 31.99), 0);
index0 = (col.b << 11) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgb * vec3(31.99, 63.99, 31.99), 0);
index1 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t2.rgb * vec3(31.99, 63.99, 31.99), 0);
index2 = (col.b << 11) | (col.g << 5) | (col.r);
col = uvec4(t3.rgb * vec3(31.99, 63.99, 31.99), 0);
index3 = (col.b << 11) | (col.g << 5) | (col.r);
}
break;
case 1:
col = uvec4(t.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index0 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index1 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t2.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index2 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
col = uvec4(t3.rgba * vec4(31.99, 31.99, 31.99, 1.0));
index3 = (col.a << 15) | (col.b << 10) | (col.g << 5) | (col.r);
}
break;
case 2:
col = uvec4(t.rgba * 15.99);
index0 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 15.99);
index1 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t2.rgba * 15.99);
index2 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
col = uvec4(t3.rgba * 15.99);
index3 = (col.a << 12) | (col.b << 8) | (col.g << 4) | (col.r);
}
break;
case 3:
col = uvec4(t.rgba * 255.99);
index0 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
if (bilinear) {
col = uvec4(t1.rgba * 255.99);
index1 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t2.rgba * 255.99);
index2 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
col = uvec4(t3.rgba * 255.99);
index3 = (col.a << 24) | (col.b << 16) | (col.g << 8) | (col.r);
}
break;
};
index0 = ((index0 >> depalShift) & depalMask) | depalOffset;
t = texelFetch(pal, ivec2(index0, 0), 0);
if (bilinear && !(index0 == index1 && index1 == index2 && index2 == index3)) {
index1 = ((index1 >> depalShift) & depalMask) | depalOffset;
index2 = ((index2 >> depalShift) & depalMask) | depalOffset;
index3 = ((inde |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.2 |
2023-04-28 |
WriteToHardware: Invalid address fffff1a8 near PC 089acc10 LR 089acc24 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14 |
2023-04-17 |
sceDmacMemcpy(dest=4989d600, src=09954640, size=15808): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14 |
2023-04-06 |
WriteToHardware: Invalid address ffffffc8 near PC 0899fe04 LR 088a616c |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2023-03-29 |
Ignoring possible texturing from framebuffer at 04161800 +0x64 / 480x272 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-03-12 |
WriteToHardware: Invalid address 00000008 near PC 08000000 LR 08000000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-02-19 |
80630006=sceAtracSetDataAndGetID(095cd140, 000037cc): invalid RIFF header |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-02-05 |
sceKernelLoadModule: unsupported options size=00000014, flags=7f800001, pos=0, access=1, data=1, text=1 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.2 |
2023-01-31 |
UI scissor out of bounds in GameSettingsScreen: 210,0-1220,828 / 823,442 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-01-27 |
FBO using existing buffer as depthbuffer, 04040000/04000000 and 04000000/00000000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-01-27 |
FBO using existing buffer as depthbuffer, 04020000/04000000 and 04000000/00000000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-01-27 |
FBO created from existing depthbuffer as color, 04000000/00000000 and 04040000/04000000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-01-27 |
FBO created from existing depthbuffer as color, 04000000/00000000 and 0404c000/04000000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-09-10 |
00000400=sceGeEdramSetAddrTranslation(00000800) |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,429-0,37 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,357-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,285-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,213-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,141-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1299,69-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,429-0,37 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,357-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,285-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,213-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,141-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1202,69-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,429-0,37 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,357-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,285-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,213-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,141-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.3-10-gb4571648d |
2023-01-16 |
UI scissor out of bounds in SavedataScreen: 1316,69-0,69 / 1178,544 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2023-01-10 |
An uneaten prefix at end of block: 089a43a8 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.16.6 |
2023-11-27 |
Rendering to framebuffer offset at 040cc000 +256x0 (stride 512) |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-12-04 |
WriteToHardware: Invalid address ffffffd4 near PC 089a0384 LR 0887cae8 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-11-29 |
Jump to invalid address: 03040060 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-11-29 |
Branch in Jump delay slot at 08c10020 in block starting at 08c10000 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-11-13 |
Unknown GetPointer 00000000 PC 089b0094 LR 089b00b0 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.6.3 |
2022-11-13 |
Error in shader program link: info: Assertion failed: mov.DstRegId <= 127 && "Out of range for destination relative addressing"
fs: 00000000:0081d022 Tex TexAlpha 2x TFuncMod AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
if (v.a < 0.002) discard;
v.rgb = v.rgb * 2.0;
fragColor0 = v;
}
vs: 00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
uniform sampler2D u_tess_pos_tex;
uniform sampler2D u_tess_tex_tex;
uniform sampler2D u_tess_col_tex;
uniform int u_spline_count_u;
vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) {
vec2 pos = vec2(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) {
vec3 pos = vec3(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) {
vec4 pos = vec4(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
uniform int u_spline_count_v;
uniform int u_spline_type_u;
uniform int u_spline_type_v;
void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) {
for (int i = 0; i < 6; ++i) {
knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2));
}
if ((type.x & 1) != 0) {
if (patch_pos.x <= 2)
knot[0].x = 0.0;
if (patch_pos.x <= 1)
knot[1].x = 0.0;
}
if ((type.x & 2) != 0) {
if (patch_pos.x >= (num_patches.x - 2))
knot[5].x = float(num_patches.x);
if (patch_pos.x == (num_patches.x - 1))
knot[4].x = float(num_patches.x);
}
if ((type.y & 1) != 0) {
if (patch_pos.y <= 2)
knot[0].y = 0.0;
if (patch_pos.y <= 1)
knot[1].y = 0.0;
}
if ((type.y & 2) != 0) {
if (patch_pos.y >= (num_patches.y - 2))
knot[5].y = float(num_patches.y);
if (patch_pos.y == (num_patches.y - 1))
knot[4].y = float(num_patches.y);
}
}
void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) {
vec2 t0 = (t - knot[0]);
vec2 t1 = (t - knot[1]);
vec2 t2 = (t - knot[2]);
vec2 f30 = t0 / (knot[3] - knot[0]);
vec2 f41 = t1 / (knot[4] - knot[1]);
vec2 f52 = t2 / (knot[5] - knot[2]);
vec2 f31 = t1 / (knot[3] - knot[1]);
vec2 f42 = t2 / (knot[4] - knot[2]);
vec2 f32 = t2 / (knot[3] - knot[2]);
vec2 a = (1.0 - f30)*(1.0 - f31);
vec2 b = (f31*f41);
vec2 c = (1.0 - f41)*(1.0 - f42);
vec2 d = (f42*f52);
weights[0] = a - (a*f32);
weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32);
weights[2] = b + ((vec2(1.0) - b - c - d)*f32);
weights[3] = d*f32;
}
void main() {
vec3 _pos[16];
vec2 _tex[16];
vec4 _col[16];
int num_patches_u = u_spline_count_u - 3;
int u = int(mod(float(gl_InstanceID), float(num_patches_u)));
int v = gl_InstanceID / num_patches_u;
ivec2 patch_pos = ivec2(u, v);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
int index = (i + v) * u_spline_count_u + (j + u);
_pos[i * 4 + j] = texelFetch(u_tess_pos_tex, ivec2(index, 0), 0).xyz;
_tex[i * 4 + j] = texelFetch(u_tess_tex_tex, ivec2(index, 0), 0).xy;
_col[i * 4 + j] = texelFetch(u_tess_col_tex, i |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.6.3 |
2022-11-13 |
Error in shader program link: info: Assertion failed: mov.DstRegId <= 127 && "Out of range for destination relative addressing"
fs: 00000000:00800022 Tex TexAlpha 2x TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = p * t;
v.rgb = v.rgb * 2.0;
fragColor0 = v;
}
vs: 00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
uniform sampler2D u_tess_pos_tex;
uniform sampler2D u_tess_tex_tex;
uniform sampler2D u_tess_col_tex;
uniform int u_spline_count_u;
vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) {
vec2 pos = vec2(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) {
vec3 pos = vec3(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) {
vec4 pos = vec4(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
uniform int u_spline_count_v;
uniform int u_spline_type_u;
uniform int u_spline_type_v;
void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) {
for (int i = 0; i < 6; ++i) {
knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2));
}
if ((type.x & 1) != 0) {
if (patch_pos.x <= 2)
knot[0].x = 0.0;
if (patch_pos.x <= 1)
knot[1].x = 0.0;
}
if ((type.x & 2) != 0) {
if (patch_pos.x >= (num_patches.x - 2))
knot[5].x = float(num_patches.x);
if (patch_pos.x == (num_patches.x - 1))
knot[4].x = float(num_patches.x);
}
if ((type.y & 1) != 0) {
if (patch_pos.y <= 2)
knot[0].y = 0.0;
if (patch_pos.y <= 1)
knot[1].y = 0.0;
}
if ((type.y & 2) != 0) {
if (patch_pos.y >= (num_patches.y - 2))
knot[5].y = float(num_patches.y);
if (patch_pos.y == (num_patches.y - 1))
knot[4].y = float(num_patches.y);
}
}
void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) {
vec2 t0 = (t - knot[0]);
vec2 t1 = (t - knot[1]);
vec2 t2 = (t - knot[2]);
vec2 f30 = t0 / (knot[3] - knot[0]);
vec2 f41 = t1 / (knot[4] - knot[1]);
vec2 f52 = t2 / (knot[5] - knot[2]);
vec2 f31 = t1 / (knot[3] - knot[1]);
vec2 f42 = t2 / (knot[4] - knot[2]);
vec2 f32 = t2 / (knot[3] - knot[2]);
vec2 a = (1.0 - f30)*(1.0 - f31);
vec2 b = (f31*f41);
vec2 c = (1.0 - f41)*(1.0 - f42);
vec2 d = (f42*f52);
weights[0] = a - (a*f32);
weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32);
weights[2] = b + ((vec2(1.0) - b - c - d)*f32);
weights[3] = d*f32;
}
void main() {
vec3 _pos[16];
vec2 _tex[16];
vec4 _col[16];
int num_patches_u = u_spline_count_u - 3;
int u = int(mod(float(gl_InstanceID), float(num_patches_u)));
int v = gl_InstanceID / num_patches_u;
ivec2 patch_pos = ivec2(u, v);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
int index = (i + v) * u_spline_count_u + (j + u);
_pos[i * 4 + j] = texelFetch(u_tess_pos_tex, ivec2(index, 0), 0).xyz;
_tex[i * 4 + j] = texelFetch(u_tess_tex_tex, ivec2(index, 0), 0).xy;
_col[i * 4 + j] = texelFetch(u_tess_col_tex, ivec2(index, 0), 0).rgba;
}
}
vec2 tess_pos = position.xy;
|
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.6.3 |
2022-11-13 |
Error in shader program link: info: Assertion failed: mov.DstRegId <= 127 && "Out of range for destination relative addressing"
fs: 00000000:0081d002 Tex 2x TFuncMod AlphaTest0 >
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
uniform sampler2D testtex;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
if (v.a < 0.002) discard;
v.rgb = v.rgb * 2.0;
fragColor0 = v;
}
vs: 00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
uniform sampler2D u_tess_pos_tex;
uniform sampler2D u_tess_tex_tex;
uniform sampler2D u_tess_col_tex;
uniform int u_spline_count_u;
vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) {
vec2 pos = vec2(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) {
vec3 pos = vec3(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) {
vec4 pos = vec4(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
uniform int u_spline_count_v;
uniform int u_spline_type_u;
uniform int u_spline_type_v;
void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) {
for (int i = 0; i < 6; ++i) {
knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2));
}
if ((type.x & 1) != 0) {
if (patch_pos.x <= 2)
knot[0].x = 0.0;
if (patch_pos.x <= 1)
knot[1].x = 0.0;
}
if ((type.x & 2) != 0) {
if (patch_pos.x >= (num_patches.x - 2))
knot[5].x = float(num_patches.x);
if (patch_pos.x == (num_patches.x - 1))
knot[4].x = float(num_patches.x);
}
if ((type.y & 1) != 0) {
if (patch_pos.y <= 2)
knot[0].y = 0.0;
if (patch_pos.y <= 1)
knot[1].y = 0.0;
}
if ((type.y & 2) != 0) {
if (patch_pos.y >= (num_patches.y - 2))
knot[5].y = float(num_patches.y);
if (patch_pos.y == (num_patches.y - 1))
knot[4].y = float(num_patches.y);
}
}
void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) {
vec2 t0 = (t - knot[0]);
vec2 t1 = (t - knot[1]);
vec2 t2 = (t - knot[2]);
vec2 f30 = t0 / (knot[3] - knot[0]);
vec2 f41 = t1 / (knot[4] - knot[1]);
vec2 f52 = t2 / (knot[5] - knot[2]);
vec2 f31 = t1 / (knot[3] - knot[1]);
vec2 f42 = t2 / (knot[4] - knot[2]);
vec2 f32 = t2 / (knot[3] - knot[2]);
vec2 a = (1.0 - f30)*(1.0 - f31);
vec2 b = (f31*f41);
vec2 c = (1.0 - f41)*(1.0 - f42);
vec2 d = (f42*f52);
weights[0] = a - (a*f32);
weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32);
weights[2] = b + ((vec2(1.0) - b - c - d)*f32);
weights[3] = d*f32;
}
void main() {
vec3 _pos[16];
vec2 _tex[16];
vec4 _col[16];
int num_patches_u = u_spline_count_u - 3;
int u = int(mod(float(gl_InstanceID), float(num_patches_u)));
int v = gl_InstanceID / num_patches_u;
ivec2 patch_pos = ivec2(u, v);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
int index = (i + v) * u_spline_count_u + (j + u);
_pos[i * 4 + j] = texelFetch(u_tess_pos_tex, ivec2(index, 0), 0).xyz;
_tex[i * 4 + j] = texelFetch(u_tess_tex_tex, ivec2(index, 0), 0).xy;
_col[i * 4 + j] = texelFetch(u_tess_ |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.6.3 |
2022-11-13 |
Error in shader program link: info: Assertion failed: mov.DstRegId <= 127 && "Out of range for destination relative addressing"
fs: 00000000:00800002 Tex 2x TFuncMod
#version 300 es
#extension GL_EXT_shader_framebuffer_fetch : require
precision lowp float;
uniform sampler2D tex;
in vec4 v_color0;
in mediump vec3 v_texcoord;
inout vec4 fragColor0;
void main() {
vec4 t = texture(tex, v_texcoord.xy);
vec4 p = v_color0;
vec4 v = vec4(t.rgb * p.rgb, p.a);
v.rgb = v.rgb * 2.0;
fragColor0 = v;
}
vs: 00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN
#version 300 es
precision highp float;
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
uniform sampler2D u_tess_pos_tex;
uniform sampler2D u_tess_tex_tex;
uniform sampler2D u_tess_col_tex;
uniform int u_spline_count_u;
vec2 tess_sample(in vec2 points[16], in vec2 weights[4]) {
vec2 pos = vec2(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec3 tess_sample(in vec3 points[16], in vec2 weights[4]) {
vec3 pos = vec3(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
vec4 tess_sample(in vec4 points[16], in vec2 weights[4]) {
vec4 pos = vec4(0.0);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4; ++j) {
float f = weights[j].x * weights[i].y;
if (f != 0.0)
pos = pos + f * points[i * 4 + j];
}
}
return pos;
}
uniform int u_spline_count_v;
uniform int u_spline_type_u;
uniform int u_spline_type_v;
void spline_knot(ivec2 num_patches, ivec2 type, out vec2 knot[6], ivec2 patch_pos) {
for (int i = 0; i < 6; ++i) {
knot[i] = vec2(float(i + patch_pos.x - 2), float(i + patch_pos.y - 2));
}
if ((type.x & 1) != 0) {
if (patch_pos.x <= 2)
knot[0].x = 0.0;
if (patch_pos.x <= 1)
knot[1].x = 0.0;
}
if ((type.x & 2) != 0) {
if (patch_pos.x >= (num_patches.x - 2))
knot[5].x = float(num_patches.x);
if (patch_pos.x == (num_patches.x - 1))
knot[4].x = float(num_patches.x);
}
if ((type.y & 1) != 0) {
if (patch_pos.y <= 2)
knot[0].y = 0.0;
if (patch_pos.y <= 1)
knot[1].y = 0.0;
}
if ((type.y & 2) != 0) {
if (patch_pos.y >= (num_patches.y - 2))
knot[5].y = float(num_patches.y);
if (patch_pos.y == (num_patches.y - 1))
knot[4].y = float(num_patches.y);
}
}
void spline_weight(vec2 t, in vec2 knot[6], out vec2 weights[4]) {
vec2 t0 = (t - knot[0]);
vec2 t1 = (t - knot[1]);
vec2 t2 = (t - knot[2]);
vec2 f30 = t0 / (knot[3] - knot[0]);
vec2 f41 = t1 / (knot[4] - knot[1]);
vec2 f52 = t2 / (knot[5] - knot[2]);
vec2 f31 = t1 / (knot[3] - knot[1]);
vec2 f42 = t2 / (knot[4] - knot[2]);
vec2 f32 = t2 / (knot[3] - knot[2]);
vec2 a = (1.0 - f30)*(1.0 - f31);
vec2 b = (f31*f41);
vec2 c = (1.0 - f41)*(1.0 - f42);
vec2 d = (f42*f52);
weights[0] = a - (a*f32);
weights[1] = vec2(1.0) - a - b + ((a + b + c - vec2(1.0))*f32);
weights[2] = b + ((vec2(1.0) - b - c - d)*f32);
weights[3] = d*f32;
}
void main() {
vec3 _pos[16];
vec2 _tex[16];
vec4 _col[16];
int num_patches_u = u_spline_count_u - 3;
int u = int(mod(float(gl_InstanceID), float(num_patches_u)));
int v = gl_InstanceID / num_patches_u;
ivec2 patch_pos = ivec2(u, v);
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++) {
int index = (i + v) * u_spline_count_u + (j + u);
_pos[i * 4 + j] = texelFetch(u_tess_pos_tex, ivec2(index, 0), 0).xyz;
_tex[i * 4 + j] = texelFetch(u_tess_tex_tex, ivec2(index, 0), 0).xy;
_col[i * 4 + j] = texelFetch(u_tess_col_tex, ivec2(index, 0), 0).rgba;
}
}
vec2 tess_pos = posit |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13 |
2022-11-11 |
Error in shader compilation: info: Vertex shader compilation failed.
ERROR: 0:179: 'outerProduct' : no matching overloaded function found
ERROR: 0:179: '=' : cannot convert from 'const float' to '4X4 matrix of float'
ERROR: 2 compilation errors. No code generated.
00080000:00007b18 HWX C T N Tex Spline TessC TessT TessRevN
#version 300 es
// Adreno (TM) 306 - GLSL 300
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform lowp vec4 u_matambientalpha;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
uniform sampler2D u_tess_points;
uniform sampler2D u_tess_weights_u;
uniform sampler2D u_tess_weights_v;
uniform int u_spline_counts;
vec2 tess_sample(in vec2 points[16], mat4 weights) {
vec2 pos = vec2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
vec3 tess_sample(in vec3 points[16], mat4 weights) {
vec3 pos = vec3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
vec4 tess_sample(in vec4 points[16], mat4 weights) {
vec4 pos = vec4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
struct Tess {
vec3 pos;
vec2 tex;
vec4 col;
};
void tessellate(out Tess tess) {
ivec2 point_pos = ivec2(position.z, normal.z);
ivec2 weight_idx = ivec2(position.xy);
vec3 _pos[16];
vec2 _tex[16];
vec4 _col[16];
int index_u, index_v;
index_u = (0 + point_pos.x);
index_v = (0 + point_pos.y);
_pos[0] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz;
_tex[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy;
_col[0] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba;
index_u = (1 + point_pos.x);
index_v = (0 + point_pos.y);
_pos[1] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz;
_tex[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts, index_v), 0).xy;
_col[1] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba;
index_u = (2 + point_pos.x);
index_v = (0 + point_pos.y);
_pos[2] = texelFetch(u_tess_points, ivec2(index_u, index_v), 0).xyz;
_tex[2] = texelFetch(u_tess_poin |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-10-11 |
GetFramebufferCandidates(DEPTH): Multiple (3) candidate framebuffers. First will be chosen. texaddr: 04288000 offset: 0 (512x512 stride 512, CLUT16):
[C:04000000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:04044000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040cc000/512 Z:04088000/512 X:0 Y:0 reint: false] |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-10-25 |
sceKernelCreateSema(RealMutex) unsupported options parameter, size = 1431655765 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-10-25 |
sceKernelCreateSema(RealMutex) unsupported options parameter, size = 146805524 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-10-25 |
80630006=sceAtracSetDataAndGetID(0959b0c0, 0000400c): invalid RIFF header |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-10-25 |
Unknown GetPointer 00000024 PC 088dcbec LR 088dcbfc |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-10-25 |
80630006=sceAtracSetDataAndGetID(0959b0c0, 0000340c): invalid RIFF header |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-10-30 |
GetFramebufferCandidates(DEPTH): Multiple (5) candidate framebuffers. First will be chosen. texaddr: 04288000 offset: 0 (512x512 stride 512, CLUT16):
[C:04044000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:04000000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040cc000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040ec000/128 Z:04088000/512 X:0 Y:0 reint: false] [C:040f4000/64 Z:04088000/512 X:0 Y:0 reint: false] |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2022-10-03 |
sceDmacMemcpy(dest=49845190, src=099665c0, size=1024): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2022-09-23 |
sceKernelCreateSema(RealMutex) unsupported options parameter, size = 167771616 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-10-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=0, access=1, data=0, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-10-25 |
sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=0, access=1, data=0, text=1 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.11.3 |
2022-09-11 |
sceDmacMemcpy(dest=498451a4, src=09962b80, size=512): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.1 |
2022-09-05 |
Unknown GetPointer 0000f424 PC 089af038 LR 089af05c |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.14.4 |
2023-03-12 |
Unknown GetPointerWrite 00000000 PC 089b5974 LR 089b5988 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.1-291-g8d0c84bf0 |
2022-08-19 |
WriteToHardware: Invalid address fffff1a8 near PC 088da434 LR 088d45b8 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.16.5 |
2023-10-12 |
sceNetAdhocMatchingInit(23844) at 089036d4 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2023-11-05 |
GetFramebufferCandidates(DEPTH): Multiple (3) candidate framebuffers. First will be chosen. texaddr: 04288000 offset: 0 (512x512 stride 512, CLUT16):
[C:04044000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:04000000/512 Z:04088000/512 X:0 Y:0 reint: false] [C:040cc000/512 Z:04088000/512 X:0 Y:0 reint: false] |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.2 |
2022-11-29 |
sceFontGetFontInfo(0, 9ffc948): bad font |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13.1 |
2022-07-30 |
GetFramebufferCandidates(COLOR): Multiple (2) candidate framebuffers. First will be chosen. texaddr: 04180000 offset: 0 (128x128 stride 128, 8888):
[C:04180000/64 Z:00000000/512 X:0 Y:0 reint: false] [C:04180000/128 Z:00000000/0 X:0 Y:0 reint: false] |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-07-30 |
Attempted set for logic op: f |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.13 |
2022-07-31 |
sceKernelLoadModule: unsupported options size=00000014, flags=08b29398, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-07-01 |
WriteToHardware: Invalid address 000003d0 near PC 08881840 LR 08881840 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-07-01 |
ReadFromHardware: Invalid address 000003d0 near PC 08881840 LR 08881840 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-07-01 |
Unknown GetPointer 00000000 PC 0887d7f8 LR 0887d810 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-06-23 |
sceDmacMemcpy(dest=49845190, src=099649c0, size=1024): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.5.4 |
2022-06-18 |
sceDmacMemcpy(dest=4984515c, src=09964740, size=768): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-06-11 |
80630006=sceAtracSetDataAndGetID(095a6300, 00005d4c): invalid RIFF header |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-15 |
D3D error in shader compilation: info: C:\Program Files\PPSSPP\Shader@0x00000175F0A36080(95,31-45): error X3004: undeclared identifier 'u_spline_counts'
/ code: #pragma warning( disable : 3571 )
float4x4 u_proj : register(c0);
float4 u_matambientalpha : register(c20);
float4x3 u_world : register(c11);
float4x3 u_view : register(c8);
float4 u_uvscaleoffset : register(c17);
float4 u_cullRangeMin : register(c80);
float4 u_cullRangeMax : register(c81);
struct VS_IN {
float2 texcoord : TEXCOORD0;
float4 color0 : COLOR0;
float3 normal : NORMAL;
float3 position : POSITION;
};
struct VS_OUT {
float3 v_texcoord : TEXCOORD0;
float4 v_color0 : COLOR0;
float4 gl_Position : POSITION;
};
float2 tess_sample(in float2 points[16], float4x4 weights) {
float2 pos = float2(0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float3 tess_sample(in float3 points[16], float4x4 weights) {
float3 pos = float3(0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4 tess_sample(in float4 points[16], float4x4 weights) {
float4 pos = float4(0.0, 0.0, 0.0, 0.0);
pos += weights[0][0] * points[0];
pos += weights[0][1] * points[1];
pos += weights[0][2] * points[2];
pos += weights[0][3] * points[3];
pos += weights[1][0] * points[4];
pos += weights[1][1] * points[5];
pos += weights[1][2] * points[6];
pos += weights[1][3] * points[7];
pos += weights[2][0] * points[8];
pos += weights[2][1] * points[9];
pos += weights[2][2] * points[10];
pos += weights[2][3] * points[11];
pos += weights[3][0] * points[12];
pos += weights[3][1] * points[13];
pos += weights[3][2] * points[14];
pos += weights[3][3] * points[15];
return pos;
}
float4x4 outerProduct(float4 u, float4 v) {
return mul((float4x1)v, (float1x4)u);
}
struct Tess {
float3 pos;
float2 tex;
float4 col;
};
void tessellate(in VS_IN In, out Tess tess) {
int2 point_pos = int2(In.position.z, In.normal.z);
int2 weight_idx = int2(In.position.xy);
float3 _pos[16];
float2 _tex[16];
float4 _col[16];
int index;
index = (0 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[0] = tess_data[index].pos;
_tex[0] = tess_data[index].tex;
_col[0] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_pos[1] = tess_data[index].pos;
_tex[1] = tess_data[index].tex;
_col[1] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (2 + point_pos.x);
_pos[2] = tess_data[index].pos;
_tex[2] = tess_data[index].tex;
_col[2] = tess_data[index].col;
index = (0 + point_pos.y) * u_spline_counts + (3 + point_pos.x);
_pos[3] = tess_data[index].pos;
_tex[3] = tess_data[index].tex;
_col[3] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (0 + point_pos.x);
_pos[4] = tess_data[index].pos;
_tex[4] = tess_data[index].tex;
_col[4] = tess_data[index].col;
index = (1 + point_pos.y) * u_spline_counts + (1 + point_pos.x);
_p |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-15 |
sceKernelLoadModule: unsupported options size=00000014, flags=09fffad0, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-15 |
sceKernelLoadModule: unsupported options size=00000014, flags=09fffad0, pos=0, access=1, data=1, text=1 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-11 |
sceDmacMemcpy(dest=498451a4, src=0995fe40, size=512): overlapping read |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-05-05 |
Ignoring possible render to texture at 04184000 +0x45 / 256x128 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3 |
2022-04-23 |
Using texture with rendered CLUT: texfmt=5, clutfmt=3 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.10.3 |
2022-04-21 |
Ignoring possible render to texture at 04156000 +128x40 / 256x128 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.3-1018-g6f04f52f5 |
2022-06-25 |
sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 145634952 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.2 |
2022-04-05 |
sceKernelLoadModule: unsupported options size=00000014, flags=08b6fc98, pos=0, access=1, data=2, text=2 |
DISSIDIA 012[duodecim] FINAL FANTASY |
v1.12.2 |
2022-04-05 |
sceFontGetFontInfo(0, 9ffcb08): bad font |