Recent logs - DISSIDIA® 012[duodecim]™ FINAL FANTASY®

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.8.0 2019-07-18 Ignoring possible render to texture at 04168000 +128x54 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-16 Ignoring possible render to texture at 04184000 +128x36 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-15 __KernelStopThread: thread 1274 does not exist
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-12 Unknown GetPointer 00000000 PC 08884074 LR 08884074
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-10 Ignoring possible render to texture at 04150000 +64x61 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-07 WriteToHardware: Invalid address fffff1a0 near PC 0887dcfc LR 0887dcdc
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-06 ReadFromHardware: Invalid address ffffffff near PC ffffffff LR 08991e30
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-13 Ignoring possible render to texture at 04178000 +128x51 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-07 80630006=sceAtracSetDataAndGetID(09586380, 00003f4c): invalid RIFF header
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-27 Render to texture with incompatible formats 5 != 1 at 04150000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-24 WriteToHardware: Invalid address fffff1b4 near PC 089acc48 LR 089acc24
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-17 WriteToHardware: Invalid address fffff1b8 near PC 08abf488 LR 08abe2f4
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-17 Ignoring possible render to texture at 04196000 +128x95 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-16 Ignoring possible render to texture at 04196000 +0x65 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-16 Ignoring possible render to texture at 041ac000 +128x42 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.5 2019-06-15 Ignoring possible render to texture at 04192000 +128x93 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-15 WriteToHardware: Invalid address fffff1b4 near PC 08991e80 LR 08991e58
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-15 sceDmacMemcpy(dest=4989defc, src=09954640, size=9600): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-15 WriteToHardware: Invalid address fffff1b4 near PC 08846dc4 LR 088470fc
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-14 An uneaten prefix at end of block: 089a43a8
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-13 Unknown GetPointer 0000000f PC 088e0b68 LR 088e0b7c
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-13 sceDmacMemcpy(dest=49845a7c, src=09954640, size=9600): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-17 Ignoring possible render to texture at 041b2000 +0x56 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-10 Ignoring possible render to texture at 041ac000 +0x62 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-09 Ignoring possible render to texture at 0419c000 +128x50 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-09 sceDmacMemcpy(dest=0995b540, src=09944600, size=512): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-07 Ignoring possible render to texture at 04170000 +0x35 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-06 sceDmacMemcpy(dest=4989d5cc, src=09969bc0, size=704): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-02 Ignoring possible render to texture at 0415c000 +0x58 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-30 sceDmacMemcpy(dest=4989d624, src=099607c0, size=512): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-26 Ignoring possible render to texture at 04182000 +128x53 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-05-25 sceDmacMemcpy(dest=09954640, src=09944600, size=9536): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-05-25 sceDmacMemcpy(dest=4989d610, src=099649c0, size=896): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.5.4 2019-05-24 sceDmacMemcpy(dest=498458f8, src=09954640, size=18880): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-03 Render to texture with incompatible formats 4 != 1 at 041a6000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-06-24 sceDmacMemcpy(dest=09954640, src=09944600, size=30144): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-11 sceDmacMemcpy(dest=4984517c, src=09954640, size=58624): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-01 Ignoring possible render to texture at 0418c000 +128x34 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-21 Ignoring possible render to texture at 04184000 +0x50 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-22 Ignoring possible render to texture at 041b8000 +0x53 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-19 ReadFromHardware: Invalid address 00000000 near PC 08a792ac LR 08a792f8
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-23 WriteToHardware: Invalid address fffff1b4 near PC 089acc24 LR 089acc24
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-24 Unknown GetPointer 00000000 PC 088cf228 LR 088dc8f0
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-18 ReadFromHardware: Invalid address 00000020 near PC 088b96d8 LR 088b96d8
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-06-23 sceDmacMemcpy(dest=4989d5fc, src=09954640, size=17792): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5-369-gac8d1deeb 2019-05-09 Render to texture with incompatible formats 4 != 1 at 04144000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-06 Ignoring possible render to texture at 04186000 +128x53 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-06 Ignoring possible render to texture at 04194000 +0x40 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-05 80630006=sceAtracSetDataAndGetID(096ff080, 0000298c): invalid RIFF header
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-03 Ignoring possible render to texture at 04194000 +128x42 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-05-02 WriteToHardware: Invalid address fffff1a0 near PC 0899bdc4 LR 0899bda4
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0-145-g54bb78fd4 2019-05-02 WriteToHardware: Invalid address fffff1b8 near PC 089abf70 LR 089acc24
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0-145-g54bb78fd4 2019-05-02 sceDmacMemcpy(dest=498451a0, src=09967140, size=512): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0-114-gd15a6cf6b 2019-04-30 WriteToHardware: Invalid address fffff1b8 near PC 08992e30 LR 08991e30
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0-114-gd15a6cf6b 2019-04-30 WriteToHardware: Invalid address fffff1b8 near PC 089ac434 LR 089ac434
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-28 WriteToHardware: Invalid address fffff1ac near PC 08992e30 LR 08991e30
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-04-28 Ignoring possible render to texture at 04196000 +128x76 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-04-27 Ignoring possible render to texture at 04178000 +0x53 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-27 Render to texture with incompatible formats 4 != 1 at 0418c000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-06 Ignoring possible render to texture at 041a4000 +0x64 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-25 Render to texture with incompatible formats 5 != 1 at 041ea000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-04 Ignoring possible render to texture at 04182000 +0x45 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-21 Ignoring possible render to texture at 04186000 +0x77 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-04-26 sceDmacMemcpy(dest=49845190, src=09969540, size=1024): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-17 sceDmacMemcpy(dest=4989d610, src=09964240, size=768): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-14 Ignoring possible render to texture at 04180000 +128x88 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-05-25 Ignoring possible render to texture at 0416a000 +0x33 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-10 ReadFromHardware: Invalid address 00000204 near PC 08827938 LR 08827938
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-10 Unknown GetPointer 411ffffe PC 088dd378 LR 088dd388
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.4.2 2019-04-09 Ignoring possible render to texture at 04194000 +128x47 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0-114-gd15a6cf6b 2019-07-21 Unknown GetPointer 00000000 PC 0888402c LR 0888402c
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-08 WriteToHardware: Invalid address fffff1b4 near PC 088c005c LR 088be7f4
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-08 Ignoring possible render to texture at 04192000 +128x68 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-05 Unknown GetPointer 00000000 PC 08804040 LR 08000030
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-05 Unknown GetPointer 00000024 PC 089395f0 LR 089395f8
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-04 Ignoring possible render to texture at 04190000 +192x64 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-04 Ignoring possible render to texture at 04196000 +128x56 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-04-02 sceDmacMemcpy(dest=4989d610, src=09964d40, size=896): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-04-02 Ignoring possible render to texture at 04186000 +128x51 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-02 MIPSCompileOp: Invalid instruction 00001337
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-02 MIPSCompileOp: Invalid instruction 00000028
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-04-02 Jump to invalid address: 06990f90
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-03-28 Ignoring possible render to texture at 04184000 +0x46 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.4.2 2019-03-15 sceDmacMemcpy(dest=4984514c, src=0996b140, size=704): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-03-11 sceDmacMemcpy(dest=09954640, src=09944600, size=45696): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.5.4 2019-03-07 __KernelStopThread: thread 397 does not exist
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5-489-gb1146d8d9 2019-03-04 Unknown GetPointer 00000000 PC 08000000 LR 08000000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-03-04 Render to texture with incompatible formats 5 != 1 at 041d4000
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-03-01 Ignoring possible render to texture at 04196000 +0x46 / 256x128
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-28 Unknown GetPointer 000361f0 PC 089b57ec LR 089b57f4
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-28 WriteToHardware: Invalid address 2cd3e7cc near PC 088664c4 LR 088664f0
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-28 WriteToHardware: Invalid address 3c7e814a near PC 088664fc LR 0886651c
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-28 WriteToHardware: Invalid address 0a04fd02 near PC 089b56dc LR 089b9578
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-28 ReadFromHardware: Invalid address 00000018 near PC 08827938 LR 08827978
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.5.4 2019-02-28 sceDmacMemcpy(dest=4984517c, src=09969bc0, size=704): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-02-27 Error in shader program link: info: (unknown reason) 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 = clamp(v.rgb * 2.0, 0.0, 1.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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-02-27 Error in shader program link: info: (unknown reason) 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 = clamp(v.rgb * 2.0, 0.0, 1.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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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 = pos
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.8.0 2019-07-20 sceDmacMemcpy(dest=498451a0, src=09954640, size=17792): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.4 2019-02-27 sceDmacMemcpy(dest=4989d610, src=09966d40, size=1024): overlapping read
DISSIDIA® 012[duodecim]™ FINAL FANTASY® v1.7.5 2019-02-18 sceDmacMemcpy(dest=4989d5cc, src=0996c240, size=704): overlapping read