Message #2708147 - Error in shader program link: info: %s fs: %s %s vs: %s %s

Kind #967: Error in shader program link: info: %s fs: %s %s vs: %s %s

Game: God of War®: Ghost of Sparta (UCES01401_1.00)

Error in shader program link: info: Fragment shader(s) linked,  vertex shader(s) failed to link. 
 
fs: 00180000:01200822 Tex Fog LM Double StenToAlpha StenUniform TFuncMod 
#version 120
// Driver: ATI MOBILITY RADEON X700 - GLSL 120
#define DISCARD discard
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00180000:01200822 Tex Fog LM Double StenToAlpha StenUniform TFuncMod 
uniform sampler2D tex;
uniform float u_stencilReplaceValue;
 varying lowp vec4 v_color0;
 varying lowp vec3 v_color1;
uniform vec3 u_fogcolor;
varying mediump float v_fogdepth;
varying mediump vec3 v_texcoord;
void main() {
  vec4 s = vec4(v_color1, 0.0);
  vec4 t = texture2D(tex, v_texcoord.xy);
  vec4 p = v_color0;
  t.a = 1.0;
  vec4 v = p * t + s;
  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);
  gl_FragColor = vec4(v.rgb, u_stencilReplaceValue);
}

vs: 01730555:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull 
#version 120
// Driver: ATI MOBILITY RADEON X700 - GLSL 120
#define gl_VertexIndex gl_VertexID
#define lowp
#define mediump
#define highp
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01730555:00000b29 HWX C T N LM Light: 0: c:1 t:1 1: c:1 t:1 2: c:1 t:1 MatUp:3 Cull 
attribute vec3 position;
attribute mediump vec3 normal;
attribute vec2 texcoord;
attribute lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform lowp vec3 u_lightspecular0;
uniform vec3 u_lightpos1;
uniform mediump vec3 u_lightatt1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform lowp vec3 u_lightspecular1;
uniform vec3 u_lightpos2;
uniform mediump vec3 u_lightatt2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform lowp vec4 u_ambient;
uniform lowp vec4 u_matspecular;
uniform lowp vec3 u_matemissive;
uniform lowp vec4 u_matambientalpha;
uniform highp vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
varying lowp vec4 v_color0;
varying lowp vec3 v_color1;
varying mediump vec3 v_texcoord;
varying mediump float v_fogdepth;
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);
  vec4 outPos = mul(u_proj, viewPos);
  vec4 ambientColor = color0;
  vec3 diffuseColor = color0.rgb;
  vec3 specularColor = u_matspecular.rgb;
  lowp vec4 lightSum0 = u_ambient * ambientColor + vec4(u_matemissive, 0.0);
  lowp vec3 lightSum1 = splat3(0.0);
  vec3 toLight;
  lowp vec3 diffuse;
  float distance;
  lowp float lightScale;
  mediump float ldot;
  toLight = u_lightpos0 - worldpos;
  distance = length(toLight);
  toLight /= distance;
  ldot = dot(toLight, worldnormal);
  lightScale = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
  diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
  if (ldot >= 0.0) {
    if (u_matspecular.a > 0.0) {
      ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal);
      ldot = pow(max(ldot, 0.0), u_matspecular.a);
    } else {
      ldot = 1.0;
    }
    if (ldot > 0.0)
      lightSum1 += u_lightspecular0 * specularColor * ldot  * lightScale;
  }
  lightSum0.rgb += (u_lightambient0 * ambientColor.rgb + diffuse) * lightScale;
  toLight = u_lightpos1 - worldpos;
  distance = length(toLight);
  toLight /= distance;
  ldot = dot(toLight, worldnormal);
  lightScale = clamp(1.0 / dot(u_lightatt1, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
  diffuse = (u_lightdiffuse1 * diffuseColor) * max(ldot, 0.0);
  if (ldot >= 0.0) {
    i

Status: new. 1 hits from 2025-07-11 14:33:25 to 2025-07-11 14:33:25 UTC. Message #2708147.

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.