Message #2267253 - 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: Grand Theft Auto: Vice City Stories (ULES00502_1.02)

Error in shader program link: info: LinkShaders: Too many uniforms.

fs: 00190000:00a09822 Tex TexAlpha LM Fog 2x TFuncMod AlphaTest < TestDiscardToZero 
#version 320 es
// Driver: Vivante GC7000XS - GLSL 320
#define DISCARD discard
precision lowp float;
precision highp int;
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00190000:00a09822 Tex TexAlpha LM Fog 2x TFuncMod AlphaTest < TestDiscardToZero 
uniform sampler2D tex;
uniform uint u_alphacolorref;
uniform uint u_alphacolormask;
 in lowp vec4 v_color0;
 in lowp vec3 v_color1;
uniform vec3 u_fogcolor;
in mediump float v_fogdepth;
in mediump vec3 v_texcoord;
int roundAndScaleTo255i(in float x) { return int(floor(x * 255.0 + 0.5)); }
out vec4 fragColor0;
void main() {
  vec4 s = vec4(v_color1, 0.0);
  vec4 t = texture(tex, v_texcoord.xy);
  vec4 p = v_color0;
  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);
  if ((roundAndScaleTo255i(v.a) & int(u_alphacolormask >> 0x18u))  >=  int(u_alphacolorref >> 0x18u)) v.a = 0.0;
  fragColor0 = v;
}

vs: 01000000:80000919 HWX C T LM Tex Light: LightUberShader 
#version 320 es
// Driver: Vivante GC7000XS - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000919 HWX C T LM Tex Light: LightUberShader 
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 uint u_lightControl;
uniform vec3 u_lightpos0;
uniform mediump vec3 u_lightatt0;
uniform mediump vec3 u_lightdir0;
uniform mediump vec2 u_lightangle_spotCoef0;
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 mediump vec3 u_lightdir1;
uniform mediump vec2 u_lightangle_spotCoef1;
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 mediump vec3 u_lightdir2;
uniform mediump vec2 u_lightangle_spotCoef2;
uniform lowp vec3 u_lightambient2;
uniform lowp vec3 u_lightdiffuse2;
uniform lowp vec3 u_lightspecular2;
uniform vec3 u_lightpos3;
uniform mediump vec3 u_lightatt3;
uniform mediump vec3 u_lightdir3;
uniform mediump vec2 u_lightangle_spotCoef3;
uniform lowp vec3 u_lightambient3;
uniform lowp vec3 u_lightdiffuse3;
uniform lowp vec3 u_lightspecular3;
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 vec2 u_fogcoef;
uniform highp vec4 u_depthRange;
uniform highp vec4 u_cullRangeMin;
uniform highp vec4 u_cullRangeMax;
out lowp vec4 v_color0;
out lowp vec3 v_color1;
out mediump vec3 v_texcoord;
out 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(0.0, 0.0, 1.0, 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 = ((u_lightControl & (1u << 0x14u)) != 0x0u) ? color0 : u_matambientalpha;
  vec3 diffuseColor = ((u_lightControl & (1u << 0x15u)) != 0x0u) ? color0.rgb : u_matdiffuse;
  vec3 specularColor = ((u_lightControl & (1u << 0x16u)) != 0x0u) ? color0.rgb : 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;
  lowp float angle;
  if ((u_lightControl & 1u) != 0x0u) { 
    uint comp = (u_lightControl >> 0x04u) & 0x3u;
    uint type = (u_lightControl >> 0x06u) & 0x3u;
    if (type == 0x0u) {
      toLight = u_lightpos0;
    } else {
      toLight = u_lightpos0

Status: new. 1 hits from 2023-01-18 16:29:57 to 2023-01-18 16:29:57 UTC. Message #2267253.

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.