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.17.1 2024-08-08 sceDmacMemcpy(dest=498451a4, src=09957e80, size=512): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-08-06 Unknown GetPointer 00004e30 PC 08935524 LR 0887d848
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-08-06 WriteToHardware: Invalid address 000050c0 near PC 08881840 LR 08881840
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-08-06 ReadFromHardware: Invalid address 000050c0 near PC 08881840 LR 08881840
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-08-06 Unknown GetPointerWrite 00004e30 PC 08935524 LR 0887d810
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-07-29 sceDmacMemcpy(dest=4989d600, src=09954640, size=39040): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-07-28 sceUtilityMsgDialogInitStart: invalid status
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.4 2024-07-24 Unknown GetPointerWrite 00000000 PC 0884bbcc LR 0884bc08
DISSIDIA 012[duodecim] FINAL FANTASY v1.11.3 2024-07-09 sceDmacMemcpy(dest=09954640, src=09944600, size=9536): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-07-06 sceKernelLoadModuleByID: unsupported options size=00000014, flags=08b62c68, pos=0, access=1, data=2, text=2
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-07-06 sceKernelLoadModuleByID: unsupported options size=00000014, flags=08b62c68, pos=0, access=1, data=1, text=1
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-07-06 sceDmacMemcpy(dest=498451a0, src=09963ec0, size=704): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-05-10 80630006=sceAtracSetDataAndGetID(08c3b500, 00100000): invalid RIFF header
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-05-02 Unknown GetPointerWrite ffffffff PC 0888402c LR 0888402c
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2024-04-20 __KernelStopThread: thread 472 does not exist (helper deleted)
DISSIDIA 012[duodecim] FINAL FANTASY v1.13.1-547-g9f4a84945 2024-04-15 GetFramebufferCandidates: Multiple (2) candidate framebuffers. texaddr: 040cc000 offset: 0 (256x128 stride 256, 8888): [COLOR seq:95228 C:040cc000/64(8888) Z:04088000/512 X:0 Y:0 reint: false] [COLOR seq:95237 C:040cc000/256(8888) Z:04088000/512 X:0 Y:0 reint: false]
DISSIDIA 012[duodecim] FINAL FANTASY v1.13.1-547-g9f4a84945 2024-04-15 GetFramebufferCandidates: Multiple (2) candidate framebuffers. texaddr: 040cc000 offset: 0 (256x128 stride 256, 8888): [COLOR seq:117702 C:040cc000/64(8888) Z:04088000/512 X:0 Y:0 reint: false] [COLOR seq:117711 C:040cc000/256(8888) Z:04088000/512 X:0 Y:0 reint: false]
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-03-26 WriteToHardware: Invalid address 00000004 near PC 0886b9ec LR 0886b9ec
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-03-26 WriteToHardware: Invalid address 00000008 near PC 0886b9ec LR 0886b9ec
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-03-26 WriteToHardware: Invalid address 0029002c near PC 0883e780 LR 08842158
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-03-25 WriteToHardware: Invalid address fffff1a0 near PC 089abf70 LR 089acc24
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.4-699-gbf40eae4f 2024-03-13 sceDmacMemcpy(dest=498451a4, src=099607c0, size=512): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.3 2024-03-02 Video out requested, not supported: mode=3 size=480,272
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.3 2024-03-02 Video out requested, not supported: mode=0 size=0,0
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.3 2024-03-02 sceKernelLoadModule: unsupported options size=00000014, flags=08b80000, pos=0, access=1, data=1, text=1
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.3 2024-03-02 sceKernelLoadModule: unsupported options size=00000014, flags=00000004, pos=0, access=1, data=2, text=2
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.3 2024-03-02 sceKernelLoadModule: unsupported options size=00000014, flags=08b52af0, pos=0, access=1, data=1, text=1
DISSIDIA 012[duodecim] FINAL FANTASY v1.17.1 2024-02-19 sceDmacMemcpy(dest=4989d5dc, src=09969540, size=768): overlapping read
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2024-02-17 Unknown GetPointer 00000024 PC 088cf228 LR 088dcbfc
DISSIDIA 012[duodecim] FINAL FANTASY v1.11.3 2024-02-03 Unknown GE command : 4f414145
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.3 2024-01-02 Unknown GetPointer 00000000 PC 0887d840 LR 0887d848
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.3 2024-01-02 WriteToHardware: Invalid address 00000290 near PC 08881840 LR 08881840
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.3 2024-01-02 ReadFromHardware: Invalid address 00000290 near PC 08881840 LR 08881840
DISSIDIA 012[duodecim] FINAL FANTASY v1.15.3 2024-01-02 Unknown GetPointerWrite 00000000 PC 0887d808 LR 0887d810
DISSIDIA 012[duodecim] FINAL FANTASY v1.11.3 2023-12-10 UNIMPL sceIoChstat(ms0:/PSP/SAVEDATA/ULJS00236DATA/DATA.CPK, 09ee0058, 00000002)
DISSIDIA 012[duodecim] FINAL FANTASY v1.11.3 2023-12-10 UNIMPL sceIoChstat(ms0:/PSP/SAVEDATA/ULJS00236DATA/DATA.CPK, 09f949b0, 00000002)
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2023-12-05 Unknown GetPointer ff69ce75 PC 088d2d8c LR 088dcbfc
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2023-11-30 Unknown GetPointerWrite 00000604 PC 088dcc24 LR 088dcfa0
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2023-11-30 Unknown GetPointer c2e04dee PC 088d2d8c LR 088dcbfc
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2023-11-29 Unknown GetPointerWrite 00000058 PC 088d2d8c LR 088dcbfc
DISSIDIA 012[duodecim] FINAL FANTASY v1.16.6 2023-11-29 Unknown GetPointer b0fd2540 PC 088d2d8c LR 088dcbfc
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 2024-02-13 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.17.1 2024-05-15 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.16.6 2024-02-17 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.17.1-491-g9cdd97c13b 2024-09-18 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