Message #2398738 - Error in shader compilation: info: %s %s %s

Kind #970: Error in shader compilation: info: %s %s %s

Game: Split/Second Velocity (ULES01402_1.00)

Error in shader compilation: info: ERROR: 0:89: 'assign' :  l-value required "h_normal" (can't modify an attribute)
ERROR: 1 compilation errors.  No code generated.


01f00000:00120b30 HWX T N Tex UVEnv Light: 0: c:0 t:0 1: c:0 t:0 2: c:0 t:0 3: c:0 t:0 Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Adreno (TM) 640 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
in vec3 position;
in mediump vec3 normal;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
uniform vec3 u_lightpos0;
uniform lowp vec3 u_lightambient0;
uniform lowp vec3 u_lightdiffuse0;
uniform vec3 u_lightpos1;
uniform lowp vec3 u_lightambient1;
uniform lowp vec3 u_lightdiffuse1;
uniform vec3 u_lightpos2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform vec3 u_lightpos3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
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 vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
out lowp vec4 v_color0;
out mediump vec3 v_texcoord;
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);
  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);
  toLight = u_lightpos3;
  ldot = dot(toLight, worldnormal);
  diffuse = (u_lightdiffuse3 * u_matdiffuse) * max(ldot, 0.0);
  lightSum0.rgb += (u_lightambient3 * u_matambientalpha.rgb + diffuse);
  v_color0 = clamp(lightSum0, 0.0, 1.0);
  v_texcoord = vec3(u_uvscaleoffset.xy * vec2(1.0 + (length(u_lightpos0) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos0), worldnormal)), 1.0 + (length(u_lightpos1) == 0.0 ? worldnormal.z : dot(normalize(u_lightpos1), worldnormal))) * 0.5, 1.0);
  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_ClipDistance[0] = projZ * outPos.w + outPos.w;
  if (u_cullRangeMin.w > 0.0) {
    gl_CullDistance[0] = projPos.z - u_cullRangeMin.z;
    gl_CullDistance[1] = u_cullRangeMax.z - projPos.z;
  } else {
    gl_CullDistance[0] = 0.0;
    gl_CullDistance[1] = 0.0;
  }
  gl_Position = outPos;
  h_normal = worldnormal*0.5+0.5;
}

Status: new. 1 hits from 2023-10-10 03:04:12 to 2023-10-10 03:04:12 UTC. Message #2398738.

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.