Recent logs - METAL SLUG 2

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 SLUG 2 v1.9.4 2020-02-29 Error in shader compilation: info: ERROR: 0:85: 'normal' : undeclared identifier ERROR: 0:85: 'z' : field selection requires structure, vector, or matrix on left hand side ERROR: 2 compilation errors. No code generated. 80000000:00003918 HWX C T Tex Bezier TessC TessT #version 300 es precision highp float; in vec3 position; 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) * 3; 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); index_v = (0 + point_pos.y); _pos[3] = texelFetch(u_tess_points, ivec2(index
METAL SLUG 2 v1.9.4 2020-02-10 Vulkan error in shader compilation: info: WARNING: 0:46: 'layout' : useless application of layout qualifier ERROR: 0:122: 'normal' : undeclared identifier ERROR: 0:122: 'z' : vector swizzle selection out of range ERROR: 0:122: '' : compilation terminated ERROR: 3 compilation errors. No code generated. / code: #version 450 #extension GL_ARB_separate_shader_objects : enable #extension GL_ARB_shading_language_420pack : enable layout (std140, set = 0, binding = 3) uniform baseVars { mat4 proj_mtx; mat4 proj_through_mtx; mat3x4 view_mtx; mat3x4 world_mtx; mat3x4 tex_mtx; vec4 uvscaleoffset; vec4 depthRange; vec2 fogcoef; float stencilReplace; vec4 matambientalpha; uint spline_counts; uint depal_mask_shift_off_fmt; int pad2; int pad3; vec4 cullRangeMin; vec4 cullRangeMax; vec3 fogcolor; vec3 texenv; ivec4 alphacolorref; ivec4 alphacolormask; vec3 blendFixA; vec3 blendFixB; vec4 texclamp; vec2 texclampoff; } base; layout (location = 0) in vec3 position; layout (location = 1) in vec2 texcoord; layout (location = 5) in vec4 color0; layout (location = 1) out vec4 v_color0; layout (location = 0) out vec3 v_texcoord; out gl_PerVertex { vec4 gl_Position; }; struct TessData { vec4 pos; vec4 uv; vec4 color; }; layout (std430, set = 0, binding = 6) readonly buffer s_tess_data { TessData data[]; } tess_data; layout (std430) struct TessWeight { vec4 basis; vec4 deriv; }; layout (std430, set = 0, binding = 7) readonly buffer s_tess_weights_u { TessWeight data[]; } tess_weights_u; layout (std430, set = 0, binding = 8) readonly buffer s_tess_weights_v { TessWeight data[]; } tess_weights_v; 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) * 3; ivec2 weight_idx = ivec2(position.xy); vec3 _pos[16]; vec2 _tex[16]; vec4 _col[16]; int index; index = (0 + point_pos.y) * int(base.spline_counts) + (0 + point_pos.x); _pos[0] = tess_data.data[index].pos.xyz; _tex[0] = tess_data.data[index].uv.xy;
METAL SLUG 2 v1.9.4 2020-01-01 Error in shader compilation: info: Vertex shader compilation failed. ERROR: 0:85: 'normal' : undeclared identifier ERROR: 0:85: 'z' : field selection requires structure, vector, or matrix on left hand side ERROR: 2 compilation errors. No code generated. 80000000:00003918 HWX C T Tex Bezier TessC TessT #version 300 es precision highp float; in vec3 position; 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) * 3; 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); index_v = (0 + point_pos.y); _pos[3] = tex
METAL SLUG 2 v1.8.0 2019-08-30 Render to texture with incompatible formats 0 != 3 at 04088000