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 | 
			
				| Colin McRae™ DiRT® 2™ | v1.18.1 | 2025-02-09 | 800200d2=scePsmfPlayerSetPsmf(089c13f4, disc0:/PSP_GAME/USRDIR/MOVIES/SUMO.PMF): too many streams in PSMF video, bogus data | 
				| Colin McRae™ DiRT® 2™ | v1.18.1 | 2025-02-09 | scePsmfPlayerSetPsmf*: incorrect PSMF magic (ba010000), bad data | 
				| Colin McRae™ DiRT® 2™ | v1.17.1 | 2024-09-13 | WriteToHardware: Invalid address 00000008 near PC 088dee90 LR 088df264 | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2024-08-17 | scePsmfPlayerSetPsmf*: incorrect PSMF magic (00000000), bad data | 
				| Colin McRae™ DiRT® 2™ | v1.13.1 | 2024-02-13 | Failed to read valid video stream data from header | 
				| Colin McRae™ DiRT® 2™ | v1.16.6 | 2024-01-05 | WriteToHardware: Invalid address 00000008 near PC 0892a9a0 LR 0892a22c | 
				| Colin McRae™ DiRT® 2™ | v1.18.1 | 2025-04-01 | Can't draw: No current render step. Step count: 0 | 
				| Colin McRae™ DiRT® 2™ | v1.16.6 | 2023-11-12 | WriteToHardware: Invalid address 00000008 near PC 08908ca8 LR 08908ca8 | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:39: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:39: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:39: 'assign' : l-value required (can't modify a const)
00000000:00000028 C Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00000028 C Cull 
in vec4 position;
in highp float fog;
in vec2 texcoord;
in lowp vec4 color0;
uniform lowp float u_rotation;
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 mediump vec3 v_texcoord;
out mediump float v_fogdepth;
void main() {
  v_texcoord = vec3(texcoord, 1.0);
  v_color0 = color0;
  v_fogdepth = fog;
  vec4 pos = position;
  vec4 outPos = pos;
  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 + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
00000000:00010128 HWX C TexProjPos UVMtx Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00010128 HWX C TexProjPos UVMtx Cull 
in vec3 position;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
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 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_matambientalpha;
  v_color0 = color0;
  v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
00000000:00000b20 HWX T N Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00000b20 HWX T N Cull 
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 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 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(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 = u_matambientalpha;
  v_color0 = u_matambientalpha;
  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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:252: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:252: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:252: 'assign' : l-value required (can't modify a const)
01000000:80260b20 HWX T N UVEnv Light: LightUberShader 1: c:0 t:0 2: c:0 t:0 Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80260b20 HWX T N UVEnv Light: LightUberShader 1: c:0 t:0 2: c:0 t:0 Cull 
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 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 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(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 = u_matambientalpha;
  vec3 diffuseColor = u_matdiffuse.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;
  lowp float angle;
  uint comp; uint type; float attenuation;
  if ((u_lightControl & 0x1u) != 0x0u) { 
    comp = (u_lightControl >> 0x04u) & 0x3u;
    type = (u_lightControl >> 0x06u) & 0x3u;
    toLight = u_lightpos0;
    if (type != 0x0u) {
      toLight -= worldpos;
      distance = length(toLight);
      toLight /= distance;
      attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
      if (type == 0x01u) {
        lightScale = attenuation;
      } else {
        angle = dot(u_lightdir0, toLight);
        if (angle >= u_lightangle_spotCoef0.x) {
          lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
        } else {
          lightScale = 0.0;
        }
      }
    } else {
      lightScale = 1.0;
    }
    ldot = dot(toLight, worldnormal);
    if (comp == 0x2u) {
      ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0;
    }
    diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
    if (comp == 0x1u) {
      if (ldot >= 0.0) {
        if (u_matspecular.a > 0.0) {
          ldot = dot(normalize(toLight + vec3(0.0, 0.0, 1.0)), worldnormal); | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
00000000:00050920 HWX T TexProjUV UVMtx Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00050920 HWX T TexProjUV UVMtx Cull 
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
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 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_matambientalpha;
  v_color0 = u_matambientalpha;
  v_texcoord = mul(vec4(texcoord.xy, 0.0, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:252: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:252: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:252: 'assign' : l-value required (can't modify a const)
01000000:80000b20 HWX T N Light: LightUberShader Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 01000000:80000b20 HWX T N Light: LightUberShader Cull 
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 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 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(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 = u_matambientalpha;
  vec3 diffuseColor = u_matdiffuse.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;
  lowp float angle;
  uint comp; uint type; float attenuation;
  if ((u_lightControl & 0x1u) != 0x0u) { 
    comp = (u_lightControl >> 0x04u) & 0x3u;
    type = (u_lightControl >> 0x06u) & 0x3u;
    toLight = u_lightpos0;
    if (type != 0x0u) {
      toLight -= worldpos;
      distance = length(toLight);
      toLight /= distance;
      attenuation = clamp(1.0 / dot(u_lightatt0, vec3(1.0, distance, distance*distance)), 0.0, 1.0);
      if (type == 0x01u) {
        lightScale = attenuation;
      } else {
        angle = dot(u_lightdir0, toLight);
        if (angle >= u_lightangle_spotCoef0.x) {
          lightScale = attenuation * (u_lightangle_spotCoef0.y <= 0.0 ? 1.0 : pow(angle, u_lightangle_spotCoef0.y));
        } else {
          lightScale = 0.0;
        }
      }
    } else {
      lightScale = 1.0;
    }
    ldot = dot(toLight, worldnormal);
    if (comp == 0x2u) {
      ldot = u_matspecular.a > 0.0 ? pow(max(ldot, 0.0), u_matspecular.a) : 1.0;
    }
    diffuse = (u_lightdiffuse0 * diffuseColor) * max(ldot, 0.0);
    if (comp == 0x1u) {
      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); | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:49: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:49: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:49: 'assign' : l-value required (can't modify a const)
00000000:00010928 HWX C T TexProjPos UVMtx Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00010928 HWX C T TexProjPos UVMtx Cull 
in vec3 position;
in vec2 texcoord;
in lowp vec4 color0;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
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 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_matambientalpha;
  v_color0 = color0;
  v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
00000000:00000928 HWX C T Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00000928 HWX C T Cull 
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 vec2 u_fogcoef;
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;
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_matambientalpha;
  v_color0 = color0;
  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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:48: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:48: 'assign' : l-value required (can't modify a const)
00000000:00010920 HWX T TexProjPos UVMtx Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00010920 HWX T TexProjPos UVMtx Cull 
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform mediump mat4 u_texmtx;
uniform vec4 u_uvscaleoffset;
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 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_matambientalpha;
  v_color0 = u_matambientalpha;
  v_texcoord = mul(vec4(position, 1.0), u_texmtx).xyz * vec3(u_uvscaleoffset.xy, 1.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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:47: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:47: 'assign' : l-value required (can't modify a const)
00000000:00000920 HWX T Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00000920 HWX T Cull 
in vec3 position;
in vec2 texcoord;
uniform mat4 u_proj;
uniform mat4 u_world;
uniform mat4 u_view;
uniform vec4 u_uvscaleoffset;
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 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_matambientalpha;
  v_color0 = u_matambientalpha;
  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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.15.4 | 2023-05-27 | Error in shader compilation: info: ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier
ERROR: 0:47: 'expression' :  left of '[' is not of type array, matrix, or vector 
ERROR: 0:47: 'assign' : l-value required (can't modify a const)
00000000:00000128 HWX C Cull 
#version 320 es
#extension GL_EXT_clip_cull_distance : enable
// Driver: ANGLE (Samsung Xclipse 920) on Vulkan 1.1.179 - GLSL 320
precision highp float;
#define gl_VertexIndex gl_VertexID
#define splat3(x) vec3(x)
#define mul(x, y) ((x) * (y))
// 00000000:00000128 HWX C Cull 
in vec3 position;
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 vec2 u_fogcoef;
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;
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_matambientalpha;
  v_color0 = color0;
  v_texcoord = splat3(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_ClipDistance[0] = projZ * outPos.w + outPos.w + 0.000001;
  if (u_cullRangeMin.w > 0.0 && u_depthRange.w != 0.0f) {
    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;
} | 
				| Colin McRae™ DiRT® 2™ | v1.14.4 | 2023-03-30 | UNTESTED sceNetAdhocPollSocket(09ff75a4, 1, 0, 1) at 088d1b28 | 
				| Colin McRae™ DiRT® 2™ | v1.18.1 | 2025-10-03 | Failed to truncate file. | 
				| Colin McRae™ DiRT® 2™ | v1.13.2 | 2022-12-25 | sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 167508176 | 
				| Colin McRae™ DiRT® 2™ | v1.13.1 | 2022-09-09 | WriteToHardware: Invalid address 00000008 near PC 08908ffc LR 0890a0e0 | 
				| Colin McRae™ DiRT® 2™ | v1.19.2 | 2025-10-05 | sceNetAdhocMatchingInit(131072) at 088d0d00 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-19 | sceIoAssign(memstick:, msstor0p1:/, fatms0:, IOASSIGN_RDWR, 00000000, 0) | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd82 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd86 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd88 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd8c | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd8e | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd92 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd94 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd98 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-11 | Bottom-right corner of source of block transfer is at an invalid address: 0480fd9a | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-04-30 | Unknown GetPointer 00000001 PC 0894c264 LR 0894c274 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-10-23 | sceKernelLoadModule: unsupported options size=00000014, flags=089e9048, pos=0, access=1, data=2, text=2 | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-10-23 | sceKernelLoadModule: unsupported options size=00000014, flags=089e9048, pos=0, access=1, data=1, text=1 | 
				| Colin McRae™ DiRT® 2™ | v1.16.6 | 2023-12-08 | WriteToHardware: Invalid address 000000ac near PC 08000000 LR 08000000 | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2021-08-15 | 80630006=sceAtracSetData(1, 089e5042, 00020000): invalid RIFF header | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-06-13 | sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 145634952 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-06-13 | sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 145543488 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-06-13 | sceKernelCreateSema(RealMutex) unsupported options parameter, size = 16 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-06-13 | sceKernelCreateSema(RealMutex) unsupported options parameter, size = 34520 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-06-13 | sceKernelCreateSema(RealMutex) unsupported options parameter, size = 143963980 | 
				| Colin McRae™ DiRT® 2™ | v1.13.2 | 2022-12-25 | sceKernelLoadModule: unsupported options size=00000014, flags=ffffffff, pos=0, access=1, data=2, text=2 | 
				| Colin McRae™ DiRT® 2™ | v1.13.2 | 2022-12-25 | sceKernelLoadModule: unsupported options size=00000014, flags=ffffffff, pos=0, access=1, data=1, text=1 | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2021-05-19 | sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 167769136 | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2021-04-28 | 00000000=sceDisplaySetHoldMode(00000001): unsupported | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2022-11-21 | A save request is already running, not starting a new one | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2021-04-13 | 80000107=sceDisplaySetFrameBuf(00000000, 0, 0, 0): must change latched framebuf first | 
				| Colin McRae™ DiRT® 2™ | v1.12.3 | 2022-07-19 | sceKernelLoadModule: unsupported options size=00000014, flags=00000000, pos=0, access=1, data=2, text=2 | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | sceKernelCreateSema(RealMutex) unsupported options parameter, size = 146059204 | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5128, pos=0, access=1, data=2, text=2 | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5128, pos=0, access=1, data=1, text=1 | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0xaf36d708 | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x89b3d48c | 
				| Colin McRae™ DiRT® 2™ | v1.10.2 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x56c039b5 | 
				| Colin McRae™ DiRT® 2™ | v1.18.1 | 2025-10-05 | UNTESTED sceNetAdhocPollSocket(09ff7574, 1, 0, 1) at 088d1b28 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | Rendering to framebuffer offset: 04000000 +256x0 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | Render to texture with different strides 512 != 1024 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | Decoding texture from VRAM mirror at 042cc000 swizzle=0 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | Render to texture with incompatible formats 5 != 1 at 0416c000 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | 4 and 8-bit CLUT format not supported for framebuffers | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-03-02 | Render to texture using CLUT with different strides 256 != 32 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0xbe22eea3 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0xa670d3a3 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0xa01443aa | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x78802d5f | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x66c64821 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x58251346 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x5494274b | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x506c318d | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-02-08 | Unknown syscall in known module 'sceNpService': 0x4e851b10 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-11-30 | Unknown syscall in known module 'SysclibForKernel': 0xb49a7697 | 
				| Colin McRae™ DiRT® 2™ | v1.11.3 | 2021-08-01 | Unknown GetPointer 00000000 PC 08000000 LR 08000000 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-11-27 | BREAK instruction hit | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-11-27 | UNIMPL sceKernelStopUnloadSelfModuleWithStatus(00000001, 00000000, 00000000, 00000000, 00000000): game has likely crashed | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-08-24 | sceKernelCreateSema(SNDMUTEX) unsupported options parameter, size = 142748256 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-08-24 | sceKernelCreateSema(RealMutex) unsupported options parameter, size = 145752064 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-08-24 | sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5164, pos=0, access=1, data=2, text=2 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | sceKernelCreateThread(name=sceNetAdhocAuth_Service): unsupported attributes 00001006 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x293b45b8 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x7e65b999 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x6652b8ca | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x18260574 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0xe9b3061e | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x86255ada | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x8125221d | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | sceKernelCreateThread(name=sceMemab): unsupported attributes 00001006 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2020-08-24 | sceKernelLoadModuleByID: unsupported options size=00000014, flags=089a5164, pos=0, access=1, data=1, text=1 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | sceKernelCreateThread(name=sceNetIfhandle_Service): unsupported attributes 00001006 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Ignoring func export sceNetIfhandle/fd8585e1, already implemented in HLE. | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Ignoring func export sceNetIfhandle/c80181a2, already implemented in HLE. | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x369ed59d | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0x39810265 | 
				| Colin McRae™ DiRT® 2™ | v1.10.3 | 2021-04-10 | Unknown syscall in known module 'ThreadManForKernel': 0xb736e9ff | 
				| Colin McRae™ DiRT® 2™ | v1.4.2 | 2018-05-19 | Unable to reset D3D device | 
				| Colin McRae™ DiRT® 2™ | v1.4.2 | 2017-08-15 | scePsmfPlayerStart(089c13f4, 08a4513c, 0): unable to change video stream to 0 | 
				| Colin McRae™ DiRT® 2™ | v1.4.2 | 2017-08-15 | scePsmfPlayerSetPsmf*: unexpected streamID 0 | 
				| Colin McRae™ DiRT® 2™ | v1.4-126-gdbe714a | 2017-04-24 | Unsupported texture lod slope: 0.119755 + -1.000000 |