Kind #880: Vulkan error in shader compilation: info: %s / code: %s
Game: eFootball Libertadores 2022 (WCLIB2805_1.01)
Vulkan error in shader compilation: info: ERROR: 0:75: 'location' : SPIR-V requires location for user input/output
ERROR: 1 compilation errors. No code generated.
/ code: #version 450
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_420pack : enable
#define mul(x, y) ((x) * (y))
#define splat3(x) vec3(x)
precision highp float;
layout (std140, set = 0, binding = 3) uniform baseVars {
mat4 u_proj;
mat4 u_proj_through;
mat3x4 u_view;
mat3x4 u_world;
mat3x4 u_texmtx;
vec4 u_uvscaleoffset;
vec4 u_depthRange;
vec2 u_fogcoef;
float u_stencilReplaceValue;
vec4 u_matambientalpha;
vec4 u_cullRangeMin;
vec4 u_cullRangeMax;
uint u_spline_counts;
uint u_depal_mask_shift_off_fmt;
uint u_colorWriteMask;
int u_pad3;
vec3 u_fogcolor;
vec3 u_texenv;
ivec4 u_alphacolorref;
ivec4 u_alphacolormask;
vec3 u_blendFixA;
vec3 u_blendFixB;
vec4 u_texclamp;
vec2 u_texclampoff;
};
layout (std140, set = 0, binding = 4) uniform lightVars {
vec4 u_ambient;
vec3 u_matdiffuse;
vec4 u_matspecular;
vec3 u_matemissive;
vec3 u_lightpos0;
vec3 u_lightpos1;
vec3 u_lightpos2;
vec3 u_lightpos3;
vec3 u_lightdir0;
vec3 u_lightdir1;
vec3 u_lightdir2;
vec3 u_lightdir3;
vec3 u_lightatt0;
vec3 u_lightatt1;
vec3 u_lightatt2;
vec3 u_lightatt3;
vec4 u_lightangle_spotCoef0;
vec4 u_lightangle_spotCoef1;
vec4 u_lightangle_spotCoef2;
vec4 u_lightangle_spotCoef3;
vec3 u_lightambient0;
vec3 u_lightambient1;
vec3 u_lightambient2;
vec3 u_lightambient3;
vec3 u_lightdiffuse0;
vec3 u_lightdiffuse1;
vec3 u_lightdiffuse2;
vec3 u_lightdiffuse3;
vec3 u_lightspecular0;
vec3 u_lightspecular1;
vec3 u_lightspecular2;
vec3 u_lightspecular3;
};
layout (location = 0) in vec3 position;
layout (location = 2) in vec3 normal;
layout (location = 1) in vec2 texcoord;
layout (location = 1) out lowp vec4 v_color0;
layout (location = 0) out highp vec3 v_texcoord;
layout (location = 3) out highp float v_fogdepth;
in vec3 h_normal;
vec3 normalizeOr001(vec3 v) {
return length(v) == 0.0 ? vec3(0.0, 0.0, 1.0) : normalize(v);
}
void main() {
vec3 worldpos = mul(vec4(position, 1.0), u_world).xyz;
mediump vec3 worldnormal = normalizeOr001(mul(vec4(normal, 0.0), u_world).xyz);
vec4 viewPos = vec4(mul(vec4(worldpos, 1.0), u_view).xyz, 1.0);
viewPos.xyz += vec3(10.000000, 0.000000, 0.000000)*viewPos.w;
vec4 outPos = mul(u_proj, viewPos);
lowp vec4 lightSum0 = u_ambient * u_matambientalpha + vec4(u_matemissive, 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);
lightSum0.rgb += (u_lightambient0 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos1;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse1 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient1 * u_matambientalpha.rgb + diffuse);
toLight = u_lightpos2;
ldot = dot(toLight, worldnormal);
diffuse = (u_lightdiffuse2 * u_matdiffuse) * max(ldot, 0.0);
lightSum0.rgb += (u_lightambient2 * u_matambientalpha.rgb + diffuse);
v_color0 = clamp(lightSum0, 0.0, 1.0);
v_texcoord = vec3(texcoord.xy * u_uvscaleoffset.xy, 0.0);
v_fogdepth = (viewPos.z + u_fogcoef.x) * u_fogcoef.y;
vec3 projPos = outPos.xyz / outPos.w;
float projZ = (projPos.z - u_depthRange.z) * u_depthRange.w;
if (u_cullRangeMin.w <= 0.0 || projZ * outPos.w > -outPos.w) {
if (projPos.x < u_cullRangeMin.x || projPos.y < u_cullRangeMin.y || projPos.x > u_cullRangeMax.x || projPos.y > u_cullRangeMax.y) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
if (u_cullRangeMin.w <= 0.0) {
if (projPos.z < u_cullRangeMin.z || projPos.z > u_cullRangeMax.z) {
outPos.xyzw = u_cullRangeMax.wwww;
}
}
gl_Position = outPos;
if (gl_Position.z == gl_Position.w) gl_Position.z *= 0.999999;
gl_PointSize = 1.0;
h_normal = worldnormal*0.5+0.5;
}
Status: new. 4 hits from 2024-01-02 00:00:32 to 2024-01-10 14:24:55 UTC. Message #2433614.
Individual reports are stored since 2026-11-12, the newest 100 per message; none for this message yet. Older hits only exist as the counters above. Hover a cell for details.