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.9.4 2020-01-06 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:176: 'outerProduct' : no matching overloaded function found ERROR: 0:176: '=' : cannot convert from 'const float' to '4X4 matrix of float' ERROR: 2 compilation errors. No code generated. 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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; out lowp vec4 v_color0; out mediump vec3 v_texcoord; out mediump float v_fogdepth; 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); 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); 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); 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_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; _col[2] = texelFetch(u_tess_points, ivec2(index_u + u_spline_cou
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-01-06 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:174: 'outerProduct' : no matching overloaded function found ERROR: 0:174: '=' : 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 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_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); 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); 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); 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_points, ivec2(index_u + u_spline_counts, index_v), 0).xy; _col[2] = texelFetch(u_tess_points, ivec2(index_u + u_spline_counts * 2, index_v), 0).rgba; index_u = (3 + point_pos.x); ind
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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 = clamp(v.rgb * 2.0, 0.0, 1.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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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_po
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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); v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); if (v.a < 0.002) discard; 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] = texelF
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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 = clamp(v.rgb * 2.0, 0.0, 1.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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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); v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) discard; 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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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 +
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-12-01 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; v.rgb = clamp(v.rgb * 2.0, 0.0, 1.0); float fogCoef = clamp(v_fogdepth, 0.0, 1.0); v = mix(vec4(u_fogcolor, v.a), v, fogCoef); if (v.a < 0.002) discard; 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; uniform highp vec4 u_cullRangeMin; uniform highp vec4 u_cullRangeMax; 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_sp
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-11-22 Render to texture with incompatible formats 6 != 3 at 04000000
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-11-09 WriteToHardware: Invalid address 00000014 near PC 08acbabc LR 08acbabc
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-11-09 WriteToHardware: Invalid address 00000bee near PC 08acbabc LR 08acbabc
METAL GEAR SOLID PORTABLE OPS + v1.9.2 2019-09-29 FBO created from existing depthbuffer as color, 04088000/04110000 and 04000000/04088000
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-09-28 WriteToHardware: Invalid address 00000bee near PC 08acbad8 LR 08acbad8
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-09-28 WriteToHardware: Invalid address 00000014 near PC 08acbad8 LR 08acbad8
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-01-27 FBO using existing buffer as depthbuffer, 04000000/04110000 and 04110000/04110000
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Attempting to texture from target (src=00044000 / target=00044000 / flags=0)
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context ERROR: error(#273) 1 compilation errors. No code generated depal #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.b * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.b * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context ERROR: error(#273) 1 compilation errors. No code generated depal #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.g * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.r * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader compilation: info: Fragment shader failed to compile with the following errors: ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context ERROR: error(#273) 1 compilation errors. No code generated depal #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.r * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader compilation: info: Vertex shader failed to compile with the following errors: ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context ERROR: error(#273) 1 compilation errors. No code generated depal #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Error in shader program link: info: Vertex and Fragment shader(s) were not successfully compiled before glLinkProgram() was called. Link failed. fs: depal (failed) #version 110 varying vec2 v_texcoord0; uniform sampler2D tex; uniform sampler2D pal; void main() { vec4 index = texture2D(tex, v_texcoord0); float coord = (index.g * 0.060547) + 0.000977; gl_FragColor = texture2D(pal, vec2(coord, 0.0)); } vs: depal (failed) #ifdef GL_ES precision highp float; #endif attribute vec4 a_position; attribute vec2 a_texcoord0; varying vec2 v_texcoord0; void main() { v_texcoord0 = a_texcoord0; gl_Position = a_position; }
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Attempting to texture from target (src=00000000 / target=00000000 / flags=0)
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-22 Render to texture with different formats 1 != 0
METAL GEAR SOLID PORTABLE OPS + v1.7.1 2019-04-21 Attempting to texture from target (src=001e0000 / target=001e0000 / flags=0)
METAL GEAR SOLID PORTABLE OPS + v1.5.4-998-g08f26439c 2019-04-13 sceKernelLoadModuleByID: unsupported options size=1091f328, flags=1091f32c, pos=1, access=0, data=278000432, text=278000436
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-17 Unknown GetPointer 00000000 PC 0884b658 LR 08000020
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-22 FBO created from existing depthbuffer as color, 04088000/04110000 and 04044000/04088000
METAL GEAR SOLID PORTABLE OPS + v1.6.3 2019-02-28 GL ran out of GPU memory; switching to low memory mode
METAL GEAR SOLID PORTABLE OPS + v1.5.4 2019-02-21 WriteToHardware: Invalid address 00000000 near PC 08000000 LR 08000000
METAL GEAR SOLID PORTABLE OPS + v1.9.3-106-g86de0a49f 2020-02-23 Unsupported AND logic op: 1
METAL GEAR SOLID PORTABLE OPS + v1.7.5 2018-12-25 Savedata version requested: 3
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-27 FBO using existing buffer as depthbuffer, 04044000/04088000 and 04088000/04110000
METAL GEAR SOLID PORTABLE OPS + v1.6.3 2018-09-12 Attempting to texture from target (src=00044000 / target=00044000 / flags=7)
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-11-22 Render to texture with different formats 1 != 3
METAL GEAR SOLID PORTABLE OPS + v1.5-2-ge9303fd1c 2017-11-30 UNIMPL sceUtilityGameSharingInitStart(097655d0)
METAL GEAR SOLID PORTABLE OPS + v1.9.2 2019-09-30 UNIMPL sceUtilityGameSharingInitStart(09708f80)
METAL GEAR SOLID PORTABLE OPS + v1.3.0.1 2017-04-14 FBO created from existing depthbuffer as color, 00110000/00088000 and 00088000/00110000
METAL GEAR SOLID PORTABLE OPS + v1.9.2 2020-02-26 WriteToHardware: Invalid address 0000818c near PC 08000000 LR 08000000
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-01-19 Unimplemented HLE function sceNetApctlScanUser
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-26 WriteToHardware: Invalid address 00000014 near PC 08000000 LR 08000000
METAL GEAR SOLID PORTABLE OPS + v1.9.3-106-g86de0a49f 2020-02-27 Render to texture with incompatible formats 4 != 3 at 04110000
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-24 WriteToHardware: Invalid address 00000bee near PC 08000000 LR 08000000
METAL GEAR SOLID PORTABLE OPS + v1.0.1-521-g64f2003 2017-08-23 UNIMPL sceUtilityGameSharingInitStart(0b708f80)
METAL GEAR SOLID PORTABLE OPS + v1.9.3-106-g86de0a49f 2020-02-27 4 and 8-bit CLUT format not supported for framebuffers
METAL GEAR SOLID PORTABLE OPS + v1.9.3-106-g86de0a49f 2020-02-27 Render to texture using CLUT with different strides 64 != 512
METAL GEAR SOLID PORTABLE OPS + v1.4.2 2019-07-13 FBO created from existing depthbuffer as color, 00088000/00110000 and 00000000/00088000
METAL GEAR SOLID PORTABLE OPS + v1.7.5 2019-09-13 FBO created from existing depthbuffer as color, 00088000/00110000 and 00044000/00088000
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-05-15 1 depal unsupported: shift=8 mask=7f offset=0
METAL GEAR SOLID PORTABLE OPS + v1.0.1-207-g79fc557 2017-08-22 Render to texture with incompatible formats 3 != 1 at 04044000
METAL GEAR SOLID PORTABLE OPS + v1.5.4-232-g2dda2bfa7 2018-07-12 FBO using existing buffer as depthbuffer, 00000000/00110000 and 00110000/00110000
METAL GEAR SOLID PORTABLE OPS + v1.5-2-ge9303fd1c 2019-09-13 Loading module sceFont_Library with version 0101, devkit 03050010
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-27 sceKernelLoadModuleByID: unsupported options size=00000014, flags=00000000, pos=1, access=0, data=0, text=2
METAL GEAR SOLID PORTABLE OPS + v1.7.5 2019-09-26 FBO using existing buffer as depthbuffer, 00044000/00088000 and 00088000/00110000
METAL GEAR SOLID PORTABLE OPS + v1.8.0 2019-09-18 BREAK instruction hit
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-27 Render to texture with different formats 3 != 1
METAL GEAR SOLID PORTABLE OPS + v1.9.4 2020-02-27 sceKernelReleaseWaitThread(): Refusing to wake HLE-delayed thread, right thing to do?