Recent logs - METAL GEAR SOLID PORTABLE OPS

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
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-26 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01710111:00000b05 HWX T N LM Fog Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 MatUp:1 #version 100 // Mali-450 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) attribute vec3 position; attribute mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(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; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * 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_lightspecular1 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * 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_lightspecular2 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; gl_Position = outPos; }
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-28 FBO created from existing depthbuffer as color, 04088000/00000000 and 04044000/04088000
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-28 FBO created from existing depthbuffer as color, 04088000/00000000 and 04000000/04088000
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-26 Error in shader compilation: info: 0:1: F0002: Mali-400 GP register allocation failed for vertex shader. Please contact [email protected] with the shader causing the problem, along with this error message. Mali online shader compiler r7p0-00rel1 [Revision 96995]. 01700111:00000b05 HWX T N LM Fog Light: 0: c:1 t:0 1: c:1 t:0 2: c:1 t:0 #version 100 // Mali-450 MP - GLSL 100 precision highp float; #define gl_VertexIndex gl_VertexID #define splat3(x) vec3(x) #define mul(x, y) ((x) * (y)) attribute vec3 position; attribute mediump vec3 normal; uniform mat4 u_proj; uniform mat4 u_world; uniform mat4 u_view; uniform vec3 u_lightpos0; uniform lowp vec3 u_lightambient0; uniform lowp vec3 u_lightdiffuse0; uniform lowp vec3 u_lightspecular0; uniform vec3 u_lightpos1; uniform lowp vec3 u_lightambient1; uniform lowp vec3 u_lightdiffuse1; uniform lowp vec3 u_lightspecular1; uniform vec3 u_lightpos2; uniform lowp vec3 u_lightambient2; uniform lowp vec3 u_lightdiffuse2; uniform lowp vec3 u_lightspecular2; uniform lowp vec4 u_ambient; uniform lowp vec3 u_matdiffuse; uniform lowp vec4 u_matspecular; uniform lowp vec3 u_matemissive; uniform lowp vec4 u_matambientalpha; uniform highp vec2 u_fogcoef; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; varying lowp vec4 v_color0; varying lowp vec3 v_color1; varying mediump float v_fogdepth; void main() { vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz; mediump vec3 worldnormal = normalize(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; mediump float ldot; toLight = u_lightpos0; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse0 * u_matdiffuse) * max(ldot, 0.0); if (ldot >= 0.0) { ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); if (u_matspecular.a <= 0.0) { ldot = 1.0; } else { ldot = pow(max(ldot, 0.0), u_matspecular.a); } if (ldot > 0.0) lightSum1 += u_lightspecular0 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos1; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse1 * 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_lightspecular1 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse); toLight = u_lightpos2; ldot = dot(toLight, worldnormal); diffuse = (u_lightdiffuse2 * 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_lightspecular2 * u_matspecular.rgb * ldot ; } lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse); v_color0 = clamp(lightSum0, 0.0, 1.0); v_color1 = clamp(lightSum1, 0.0, 1.0); v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y; gl_Position = outPos; }
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa58c0 PC 08aa9650 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa964c in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa5950 PC 08aa964c LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9648 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa5760 PC 08aa9648 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 MIPSCompileOp: Invalid instruction 6e6f6974
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 MIPSCompileOp: Invalid instruction 70656378
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa58e0 PC 08aa9634 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9630 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa56a0 PC 08aa9630 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d90e0 PC 08aa9628 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9624 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d9690 PC 08aa9624 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9620 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7e70 PC 08aa9620 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa961c in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d8f30 PC 08aa961c LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9618 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d74e0 PC 08aa9618 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9614 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7050 PC 08aa9614 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9610 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7030 PC 08aa9610 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa960c in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7370 PC 08aa960c LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9608 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7330 PC 08aa9608 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa9604 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 02aa5460 PC 08aa9604 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7670 PC 08aa95f8 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95f4 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7b30 PC 08aa95f4 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95f0 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7950 PC 08aa95f0 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95ec in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d8f30 PC 08aa95ec LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95e8 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d74e0 PC 08aa95e8 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95e4 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7050 PC 08aa95e4 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95e0 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7030 PC 08aa95e0 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95dc in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d7220 PC 08aa95dc LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Branch in Jump delay slot at 08aa95d8 in block starting at 08aa95d8
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 Jump to invalid address: 027d71e0 PC 08aa95d8 LR 08839560
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-24 ReadFromHardware: Invalid address 00000010 near PC 089b9fbc LR 089b9fbc
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-28 FBO created from existing depthbuffer as color, 04110000/00000000 and 04000000/04110000
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-21 80630007=sceAtracSetData(2, 08d13140, 00038000): atracID uses different codec type than data
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Render to texture using CLUT with different strides 64 != 128
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Render to texture with different strides 64 != 128
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Render to texture with different formats 2 != 0
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Unknown syscall in known module 'sceNpCommerce2': 0xdd6758fa
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Unknown syscall in known module 'sceNpCommerce2': 0xceab1829
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-17 Unknown syscall in known module 'sceNpCommerce2': 0xb0d7aa90
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-02 sceKernelCreateThread(name=god_m001_Title): unsupported attributes 00000006
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-02 BREAK instruction hit
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-02 sceKernelCreateThread(name=god_m002_Movie): unsupported attributes 00000006
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-02 sceKernelCreateThread(name=god_m000_Boot): unsupported attributes 00000006
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 Error in shader program link: info: (unknown reason) fs: 00000000:00a1d022 Tex TexAlpha Fog 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; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00080000:00007b1c HWX C T N Fog 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 vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; 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,
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 Error in shader program link: info: (unknown reason) fs: 00000000:00a00022 Tex TexAlpha Fog 2x TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00080000:00007b1c HWX C T N Fog 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 vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; 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, ivec
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 Error in shader program link: info: (unknown reason) fs: 00000000:00a1d002 Tex Fog 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; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00080000:00007b1c HWX C T N Fog 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 vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; 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, iv
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 Error in shader program link: info: (unknown reason) fs: 00000000:00a00002 Tex Fog 2x TFuncMod #version 300 es #extension GL_EXT_shader_framebuffer_fetch : require precision lowp float; uniform sampler2D tex; in vec4 v_color0; uniform vec3 u_fogcolor; in mediump float v_fogdepth; 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; float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); fragColor0 = v; } vs: 00080000:00007b1c HWX C T N Fog 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 vec2 u_fogcoef; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; 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
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 Error in shader program link: info: (unknown reason) 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_col_tex, ivec2(index, 0), 0).rgba; } } vec2 tess_pos = position.xy;
METAL GEAR SOLID PORTABLE OPS v1.6.3-432-gfd6c3145d 2020-12-31 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 = 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; vec2 weights[4]; ivec2 spline_num_patches = ivec2(u_spline_coun
METAL GEAR SOLID PORTABLE OPS v1.10.3 2020-12-23 sceKernelLoadModule: unsupported options size=00000014, flags=ffffffff, pos=0, access=1, data=2, text=2
METAL GEAR SOLID PORTABLE OPS v1.10.3 2020-12-23 sceKernelLoadModule: unsupported options size=00000014, flags=ffffffff, pos=0, access=1, data=1, text=1
METAL GEAR SOLID PORTABLE OPS v1.10.3 2020-12-22 FBO created from existing depthbuffer as color, 04088000/04110000 and 04000000/04088000
METAL GEAR SOLID PORTABLE OPS v1.10.3 2020-11-23 Unknown GetPointer 00000000 PC 08804128 LR 08000030
METAL GEAR SOLID PORTABLE OPS v1.11.2 2021-02-28 FBO created from existing depthbuffer as color, 04110000/00000000 and 04088000/04110000
METAL GEAR SOLID PORTABLE OPS v1.10.3-541-g5043f0568 2020-08-31 NotifyFramebuffer(COLOR): Multiple (4) candidate textures. fb addr: 04000000 (480x272 stride 512, 5551)
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-13 Unimplemented HLE function sceNetResolverCreate
METAL GEAR SOLID PORTABLE OPS v1.10.3-474-gd465ce512 2020-08-22 Texturing from framebuffer with incompatible format 8888 != 5551 at 04088000
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceNetResolverTerm
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-13 Unimplemented HLE function sceNetApctlGetState
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceNetInetClose
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceHttpsDisableOption
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-13 Unimplemented HLE function sceNetFreeThreadinfo
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceUriBuild
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceUriParse
METAL GEAR SOLID PORTABLE OPS v1.11-17-g6d8b4b852 2021-02-13 Unimplemented HLE function sceHttpsEnableOption
METAL GEAR SOLID PORTABLE OPS v1.10.3 2021-01-13 Unimplemented HLE function sceNetApctlGetInfo
METAL GEAR SOLID PORTABLE OPS v1.9.4 2021-01-04 Unknown GetPointer 00000000 PC 08000000 LR 08000000
METAL GEAR SOLID PORTABLE OPS v1.9.4 2020-06-01 GL ran out of GPU memory; switching to low memory mode
METAL GEAR SOLID PORTABLE OPS v1.9.3-106-g86de0a49f 2020-01-18 Video out requested, not supported: mode=0 size=512,272
METAL GEAR SOLID PORTABLE OPS v1.9.3-106-g86de0a49f 2020-01-18 sceKernelLoadModuleByID: unsupported options size=00000014, flags=00000000, pos=1, access=0, data=0, text=2
METAL GEAR SOLID PORTABLE OPS v1.9.3-106-g86de0a49f 2020-01-18 Unknown syscall in known module 'sceNpService': 0x78802d5f
METAL GEAR SOLID PORTABLE OPS v1.9.3-106-g86de0a49f 2020-01-18 Unknown syscall in known module 'sceNpService': 0x268c009d
METAL GEAR SOLID PORTABLE OPS v1.9.3-106-g86de0a49f 2020-01-18 Unknown syscall in known module 'sceNpService': 0x1da3e950
METAL GEAR SOLID PORTABLE OPS v1.9.4 2019-12-09 __KernelStopThread: thread 491 does not exist
METAL GEAR SOLID PORTABLE OPS v1.9.4 2019-12-01 FBO using existing buffer as depthbuffer, 04088000/04110000 and 04110000/04110000
METAL GEAR SOLID PORTABLE OPS v1.9.4 2020-10-03 Unknown GetPointer 00000000 PC 089c62a4 LR 089c62a4
METAL GEAR SOLID PORTABLE OPS v1.9.4 2021-02-13 FBO using existing buffer as depthbuffer, 04000000/04110000 and 04110000/04110000
METAL GEAR SOLID PORTABLE OPS v1.8.0 2019-09-12 FBO using existing buffer as depthbuffer, 04000000/04088000 and 04088000/04110000
METAL GEAR SOLID PORTABLE OPS v1.5.4-998-g08f26439c 2019-02-06 Unexpected mpeg first timestamp: 8f3fb090000 / 9843981746176
METAL GEAR SOLID PORTABLE OPS v1.9.4 2021-02-27 FBO using existing buffer as depthbuffer, 04044000/04088000 and 04088000/04110000